1. Введение в экосистему Django: установка, настройка виртуального окружения и структура проекта
Введение в экосистему Django: установка, настройка виртуального окружения и структура проекта
Добро пожаловать в курс по Backend-разработке на Python! Мы начинаем погружение в один из самых мощных и популярных веб-фреймворков в мире — Django. В этой статье мы разберем, что такое Django, зачем нужны виртуальные окружения, как создать свой первый проект и из чего он состоит.
Что такое Django и философия «Batteries Included»
Django — это высокоуровневый веб-фреймворк на языке Python, который поощряет быструю разработку и чистый, прагматичный дизайн. Он был создан разработчиками новостного издания для того, чтобы успевать публиковать материалы в сжатые сроки.
Главная особенность Django описывается фразой «Batteries included» (Батарейки в комплекте). Это означает, что «из коробки» вы получаете множество инструментов, которые в других фреймворках пришлось бы настраивать вручную или устанавливать отдельно:
* ORM (Object-Relational Mapping) — работа с базой данных через объекты Python, без необходимости писать SQL-запросы вручную. * Административная панель — готовый интерфейс для управления контентом. * Аутентификация — система регистрации, входа и управления правами пользователей. * Безопасность — защита от распространенных атак (SQL Injection, XSS, CSRF).
!Схема обработки запроса в Django: от пользователя к серверу и базе данных.
Подготовка рабочего окружения
Прежде чем писать код, необходимо подготовить фундамент. Профессиональная разработка на Python немыслима без использования виртуальных окружений.
Зачем нужно виртуальное окружение?
Представьте, что вы работаете над двумя проектами: «Интернет-магазин» и «Личный блог». Магазин написан год назад и использует Django версии 3.2, а блог вы начинаете сейчас и хотите использовать новейший Django 5.0. Если вы установите Django глобально на свой компьютер, возникнет конфликт версий. Вы не сможете запустить оба проекта одновременно.
Виртуальное окружение (Virtual Environment) — это изолированная папка, которая содержит свою версию интерпретатора Python и набор библиотек, необходимых конкретному проекту. Это позволяет каждому проекту иметь свои собственные зависимости, не мешая другим.
Шаг 1: Проверка установки Python
Убедитесь, что у вас установлен Python версии 3.8 или выше. Откройте терминал (командную строку) и введите:
Если команда не найдена, попробуйте python3 --version (актуально для macOS/Linux).
Шаг 2: Создание виртуального окружения
Создайте папку для вашего нового проекта и перейдите в нее:
Теперь создадим виртуальное окружение. Мы назовем его venv (стандартное название):
Эта команда создаст папку venv, в которой будут лежать изолированные файлы Python.
Шаг 3: Активация виртуального окружения
Чтобы компьютер понял, что мы хотим использовать именно это окружение, его нужно активировать.
Для Windows:
Для macOS и Linux:
После активации в начале строки терминала появится надпись (venv). Это знак того, что вы находитесь в изолированном пространстве.
Установка Django и создание проекта
Теперь, когда мы защищены виртуальным окружением, установим сам фреймворк.
Установка через pip
pip — это менеджер пакетов Python. Выполните команду:
Чтобы убедиться, что установка прошла успешно, можно проверить версию:
Создание проекта
В терминологии Django есть два важных понятия:
Один проект может состоять из множества приложений. Одно приложение может использоваться в разных проектах.
Создадим проект с названием config. Часто корневую папку конфигурации называют config, core или именем сайта.
> Обратите внимание: Точка . в конце команды очень важна. Она говорит Django создать проект в текущей папке, а не создавать новую вложенную папку. Это делает структуру удобнее.
Структура проекта Django
После выполнения команды ваша папка будет выглядеть так:
!Файловая структура только что созданного Django-проекта.
Разберем назначение каждого файла:
1. manage.py
Это утилита командной строки для взаимодействия с вашим проектом. Через этот файл вы будете запускать сервер, создавать миграции баз данных и создавать новые приложения. Вы не должны редактировать этот файл.2. Папка config/ (пакет конфигурации)
Это «сердце» вашего проекта.* __init__.py: Пустой файл, который говорит Python, что эта папка является пакетом.
* settings.py: Самый важный файл. Здесь хранятся все настройки: подключение к базе данных, список установленных приложений, настройки безопасности, языковые параметры и многое другое.
* urls.py: «Оглавление» вашего сайта. Здесь вы описываете, какой URL (адрес страницы) соответствует какой функции обработки. Например, /about/ -> показать страницу «О нас».
* wsgi.py и asgi.py: Точки входа для веб-серверов (таких как Gunicorn или Uvicorn), которые будут обслуживать ваш сайт в продакшене (на реальном хостинге).
Запуск сервера разработки
Django поставляется с легким веб-сервером для разработки, чтобы вы могли видеть результаты своей работы без настройки сложного ПО.
Убедитесь, что вы находитесь в папке с файлом manage.py, и выполните:
Вы увидите вывод, похожий на этот:
Теперь откройте браузер и перейдите по адресу http://127.0.0.1:8000/. Вы должны увидеть приветственную страницу с ракетой, которая сообщает: «The install worked successfully! Congratulations!».
Создание первого приложения (App)
Как мы говорили ранее, проект состоит из приложений. Давайте создадим наше первое приложение, например, для управления задачами. Назовем его tasks.
Остановите сервер (нажмите Ctrl+C в терминале) и введите:
Появится новая папка tasks со своей структурой:
* migrations/ — папка для хранения истории изменений базы данных.
* admin.py — настройки админ-панели для этого приложения.
* apps.py — метаданные приложения.
* models.py — здесь описываются структуры данных (таблицы БД).
* tests.py — место для написания тестов.
* views.py — здесь пишется логика обработки запросов (что показать пользователю).
Регистрация приложения
Просто создать папку недостаточно. Нужно «сообщить» проекту config, что у него появилось новое приложение tasks. Для этого откройте файл config/settings.py, найдите список INSTALLED_APPS и добавьте туда название вашего приложения:
Теперь Django знает о существовании tasks и будет учитывать его при работе.
Заключение
Сегодня мы заложили фундамент для будущей разработки. Мы научились:
В следующей статье мы углубимся в работу с данными: узнаем, что такое модели, как Django работает с базами данных и создадим свои первые таблицы.
Для более глубокого изучения вы всегда можете обратиться к официальной документации Django, которая считается одной из лучших в мире Open Source.