Решил восстановить свой сайт о настольных играх — VseNastolki.ru. Когда‑то там был интернет‑магазин, но, поскольку теперь на столь серьёзный проект меня не хватит, я буду делать всего лишь базу настольных игр. Оформив идею, я, как настоящий программист, взялся за выбор фреймворка: Flask или Django.
Другие фреймворки я не рассматривал. Причина проста: у меня нет опыта работы с ними. Проект хочется закончить, так что использовать неизвестный фреймворк для этого не хочется. Так что в кандидатах остались только Flask — наш текущий фреймворк на работе — и Django — фреймворк, из‑за которого я попал в мир Python.
На Flask и Django можно сделать практически любой сайт или веб‑приложение. И даже не так важно, какой из них будет выбран. Но всё‑таки есть области, где Django предпочтительнее, а есть и такие, где Flask подойдёт лучше.
Django силён своей стройностью и закрытостью. Для всего есть «правильный» инструмент, который является частью фреймворка. И если ваш проект хорошо ложится на эти инструменты, если нужно сохранить большое количество данных, редактировать и отображать их, то Django — идеальный выбор. Более хитрые манипуляции с данными Django под силу, но требуют больше усилий.
Flask — это гибкость. Практически все элементы фреймворка необязательны. Это плюс, если нужно делать что‑то уникальное. Но, скорее, минус, если вы делаете обыкновенный сайт с большим количеством однородных по структуре документов: слишком много придётся писать руками. С другой стороны, если проект требует что‑то переделать в Django, то трудозатраты будут в разы больше, чем реализовать аналогичную фичу на Flask.