1. Основы Django 5: установка, структура проекта и архитектура MVT
Основы Django 5: установка, структура проекта и архитектура MVT
Добро пожаловать в курс «Разработка веб-приложений на Django 5: Полное руководство». Это первая статья, с которой начнется ваше погружение в один из самых мощных и популярных веб-фреймворков на языке Python. Django зарекомендовал себя как инструмент для «перфекционистов с дедлайнами», позволяя создавать сложные, безопасные и масштабируемые сайты с невероятной скоростью.
В этой статье мы разберем фундамент, на котором строится любое Django-приложение: от настройки рабочего окружения до понимания того, как именно фреймворк обрабатывает запросы пользователя.
Что такое Django и почему версия 5?
Django — это свободный веб-фреймворк высокого уровня, написанный на Python. Он следует принципу DRY (Don't Repeat Yourself — не повторяйся), поощряя переиспользование кода и модульность.
Версия Django 5, вышедшая в конце 2023 года, принесла ряд улучшений, включая расширенную поддержку асинхронности, упрощение работы с формами и оптимизацию работы с базой данных. Изучение актуальной версии гарантирует, что ваши знания будут востребованы на рынке еще долгое время.
> Django — это веб-фреймворк для перфекционистов с дедлайнами. > Официальный сайт Django Project
Подготовка рабочего окружения
Прежде чем писать код, необходимо подготовить почву. Мы предполагаем, что у вас уже установлен Python (версии 3.10 или выше для Django 5).
1. Виртуальное окружение
В мире Python крайне важно изолировать зависимости проектов друг от друга. Для этого используется виртуальное окружение. Это отдельная папка, в которую устанавливаются библиотеки конкретно для вашего текущего проекта.
Создадим папку для проекта и виртуальное окружение:
Теперь его нужно активировать:
* Windows: * macOS / Linux:
После активации в начале командной строки появится надпись (venv).
2. Установка Django
Теперь, когда мы находимся в изолированном окружении, установим сам фреймворк с помощью пакетного менеджера pip:
Чтобы убедиться, что установка прошла успешно, проверим версию:
Если вы видите 5.0.x, значит, мы готовы двигаться дальше.
Создание первого проекта
В терминологии Django есть различие между проектом (project) и приложением (app):
* Проект — это глобальная конфигурация вашего веб-сайта (настройки базы данных, список установленных модулей, главные маршруты). * Приложение — это отдельный модуль, выполняющий конкретную задачу (например, блог, форум, система опросов).
Один проект может состоять из множества приложений.
Создадим наш проект с именем config (частая практика называть корневую папку конфигурации config, core или именем сайта):
Обратите внимание на точку . в конце команды. Она говорит Django создать файлы проекта прямо в текущей папке, не создавая лишнюю вложенную директорию.
Структура файлов проекта
После выполнения команды ваша папка будет выглядеть так:
Разберем ключевые файлы:
/about/ или /contact/).Архитектура MVT (Model-View-Template)
Чтобы понять, как работает Django, нужно разобраться в его архитектурном паттерне. Он называется MVT.
Если вы слышали о популярном паттерне MVC (Model-View-Controller), то MVT — это его интерпретация в стиле Django. Давайте визуализируем этот процесс.
!Схема потока данных в архитектуре MVT: от запроса пользователя до ответа сервера
Расшифровка компонентов MVT
Product с полями name и price превратится в таблицу товаров.Почему такая путаница с названиями?
В классическом MVC «View» отвечает за отображение. В Django за отображение отвечает «Template». А «View» в Django занимается логикой обработки (как Controller в MVC). Поэтому часто говорят, что Django — это MTV фреймворк, или что «Контроллером» в Django является сам фреймворк.
Запуск сервера разработки
Проверим, как работает наш пустой проект. Django имеет встроенный веб-сервер для разработки, который автоматически перезагружается при изменении файлов.
Выполните команду в терминале (убедитесь, что вы в папке с файлом manage.py):
Вы увидите вывод, похожий на этот:
Теперь откройте браузер и перейдите по адресу http://127.0.0.1:8000/.
Если вы видите страницу с летящей ракетой и надписью "The install worked successfully! Congratulations!", значит, вы все сделали правильно. Ваш первый проект на Django 5 запущен!
Заключение
Сегодня мы заложили фундамент для будущего веб-приложения:
В следующей статье мы перейдем от теории к практике и создадим наше первое приложение, определим модели данных и научимся работать с базой данных через Django ORM.