Разница в двух словах
Django — всё в комплекте. База данных, панель управления, аутентификация, формы, шаблоны — из коробки. Вы пишете по правилам фреймворка и получаете много готового.
Flask — минимум. Обработка запросов и всё. Базу, формы, вход по паролю подключаете сами из отдельных библиотек.
Первый подход быстрее приводит к результату, второй лучше показывает, как всё устроено.
Что быстрее освоить
Парадокс: Flask проще понять, но Django быстрее даёт результат.
Во Flask можно за десять минут написать первый обработчик и понять, что происходит: пришёл запрос, вернулся ответ. Никакой магии.
В Django на старте больше правил: структура проекта, приложения, модели, отображения, шаблоны, настройки. Зато через два вечера у вас работающий сайт с базой и панелью управления, которую не пришлось писать.
Что чаще просят
В вакансиях для начинающих Django встречается чаще: на нём написано много продуктов, которые надо поддерживать. Flask — реже, обычно в небольших сервисах.
Практический совет прежний: откройте двадцать вакансий начального уровня в своём городе и посчитайте сами. Это надёжнее любых рассуждений.
Когда что брать
Берите Django, если:
- делаете сайт с базой, входом по паролю и панелью управления;
- хотите быстрее получить работающий результат;
- смотрите на вакансии, где он указан.
Берите Flask, если:
- нужен небольшой сервис без всего лишнего;
- хочется понять, как устроена веб-разработка, а не как устроен фреймворк;
- собираете нестандартную вещь, куда готовое решение не ложится.
А что с FastAPI
Отдельный вариант, набравший популярность. По духу ближе к Flask: минимализм и сборка из частей. Отличия: асинхронность из коробки, проверка входящих данных по описанию типов и автоматическая документация к вашему сервису.
Разумно смотреть в его сторону, если делаете сервис, к которому обращаются другие программы, а не человек через браузер.
Для первого учебного проекта FastAPI хорош тем, что вы сразу привыкаете описывать данные строго — полезная привычка.
Что важнее выбора
Довести один проект до конца. Разница между тремя фреймворками, потроганными по неделе, и одним, на котором сделана работающая вещь, — огромная, и она в пользу второго.
Переход между ними занимает недели, потому что общее — обработка запроса, работа с базой, шаблоны — везде одинаково. Меняется синтаксис, а не мышление.
Хватит читать — пора делать
На CohortX можно найти команду под пет-проект и получить тот самый опыт, о котором спрашивают на собеседовании.
Похожие статьи
- FastAPI: your first service in an eveningWhat a service for programs is, how to write your first one in an evening, and why automatic documentation saves time.
- FastAPI: первый сервис за вечерЧто такое сервис для программ, как написать первый за вечер и почему автоматическая документация экономит время.
- Django for beginners: a first project step by stepFrom installation to a working list with an admin panel — the steps, and what each one means.