Создать конечно можно, но вот стоит ли и зачем это нужно — это большой вопрос. Фреймворки имеют готовые к использованию функции из коробки, поэтому вам не нужно каждый раз кодировать их с нуля.
Без использования фреймворка вам, помимо прочего, придется «вручную» прописывать такие функции, как:
- компрессия запросов/ответов;
- парсинг запросов;
- URL-маршрутизация;
- обработка ошибок;
- управление пользователями;
- аутентификация и настройки разрешений в административном интерфейсе и т.д.
Использовать «голого» Python без фреймворка для создания сайта — это как есть суп вилкой. В принципе можно, но крайне нецелесообразно с точки зрения эффективности.