Django: что это и с чего начать
Полное руководство для начинающих
Что такое Django
Django — это фреймворк для веб-приложений на Python. Он берёт на себя типовую рутину: маршрутизацию адресов, работу с базой данных, формы, авторизацию, админку и защиту от основных атак. Разработчику остаётся описать предметную область — остальное уже собрано.
Главная причина, по которой Django выбирают: скорость выхода в продакшн. Проект, где нужно завести пользователей, каталог, админку и API, на «голом» Python пишется месяцами, а на Django — неделями.
Как устроен MTV
Вместо классического MVC Django использует MTV — Model, Template, View. Логика простая:
- Model — описание данных. Один класс Python превращается в таблицу в базе, а миграции создаются автоматически.
- Template — HTML с шаблонными тегами. Отвечает только за то, как данные выглядят.
- View — функция или класс, который получает запрос, забирает данные из моделей и отдаёт ответ.
Между ними работает URLconfs — список адресов и привязанных к ним представлений. Про это подробно в статье Views и URL в Django.
Когда Django — правильный выбор
- Нужна админка «из коробки»: контент-сайт, каталог, внутренний сервис.
- Много сущностей и связей: заказы, клиенты, статусы, документы.
- Команда знает Python: язык один и для бэкенда, и для скриптов, и для аналитики.
- Нужна встроенная безопасность: CSRF, XSS и SQL-инъекции закрыты по умолчанию.
Когда лучше взять другое
- Маленький лендинг или визитка — Django избыточен, хватит статики.
- Нужна предельная скорость на тысячах запросов с простой логикой — смотрите FastAPI или Go.
- Проект из трёх страниц и одной формы — CMS обойдётся дешевле.
План: пять шагов до первого проекта
Порядок, который я рекомендую новичкам. Каждый шаг заканчивается работающим результатом, а не конспектом.
- Установка. Python, виртуальное окружение, первый запуск сервера. Инструкция: Установка Django на Windows.
- Модели. Описать две-три сущности, сделать миграции, научиться писать запросы через ORM. Статья: Модели Django и ORM.
- Маршруты и представления. Связать адреса с функциями, отдать первый шаблон. Статья: Views и URL в Django.
- Админка и формы. Зарегистрировать модели в админке, добавить форму заявки с валидацией.
- Деплой. PostgreSQL, Gunicorn, Nginx, HTTPS. Статья: Деплой Django на VPS.
Частые ошибки новичков
Писать бизнес-логику во view. Через месяц такая функция на 300 строк превращается в нечитаемое полотно. Логику выносят в сервисные функции или методы моделей.
Игнорировать миграции. Правки в базе руками ломают схему: миграции перестают видеть расхождения. Всё изменение структуры — только через них.
Разворачивать с включённым режимом отладки. Это не «чуть медленнее», а публичный доступ к настройкам и трассировкам. Подробнее — в статье про деплой.
Не читать документацию. У Django одна из лучших документаций в вебе, почти любой вопрос разобран там лучше, чем в пересказах.
Нужен сайт на Django, а не статья?
Сделаю проект под ключ: модели данных, админка, интеграции с 1С и оплатой, REST API, деплой на ваш сервер с HTTPS и резервными копиями. С 2009 года, по договору, с поддержкой после запуска.
Полезно по теме: установка Django, модели и ORM, views и URL, деплой, цены на разработку.