paradox81ru
Если подскажете, в чем преимущества Flask
А что вам фактически нужно для построения сайта? “я выбирал фреймворк для написания сайта”, ок, а что фреймворк должен делать? Давайте разберемся.
В “классическом” веб-приложении, нужен:
1) Рендеринг HTML. Вы сами выяснили, что стандартный шаблонизатор Джанго вам не подошел, и вы используете jinja из flask. Далее мы решили, что это нам вообще не надо.
2) ОРМ. Если вам очень нравится ОРМ из Джанги, то есть проект peewee, но вообще говоря, Джанговский ОРМ слабый и тормозной. Да и вообще, если выбирать между Active Record и Unit of Work, то последний подход не спроста реализован в таких монстрах как JPA/Hibernate и Entity Framework, он дает больше контроля.
3) MVC. Джанго заточен под MTV, М - смотри пункт 2, Т - смотри пункт 1. Ничего не осталось, кроме контроллера/представления, и у Джанги тут есть дженерики и CBV, но
а) а зачем они нужны без шаблонов? Достаточно одного базового View чтобы отдавать JSON.
б) это легко реализуется самостоятельно и более того чаще всего базовые контроллеры или миксины для них вы все равно пишите свои.
4) Формы. В контексте рендеринга форм есть несколько проектов,
например. Обёртки под фласк
тоже есть. Ну а для валидации AJAX-запросов все равно нужно что-то стороннее.
5) Роутинг. Джанговский роутинг меня бесит.
6) Middleware. Есть в любом более-менее серьезном решении.
7) Админка. Хорошо, но не обязательно. То, что нельзя править клиентам, администратор может поправить через какой-нибудь phpmyadmin.
8) Локализация. Джанга делает это с помощью стандартного модуля gettext. Берем gettext и не паримся.
Что я забыл?