Урок 14. Практикум 4: Django
⚡ Кратко: Практикум 4 — Django (11 задач)
Практикум на закрепление базовых навыков Django: создание проекта, вынос секретов в .env, запуск сервера, создание приложения, первое view и маршрутизация.
- Задачи 1–4: создать проект, вынести SECRET_KEY в .env, считать через django-environ, запустить сервер.
- Задачи 5–7: вынести DEBUG и ALLOWED_HOSTS в .env, добавить настройки MySQL, условный выбор БД.
- Задачи 8–11: создать приложение first_app, зарегистрировать в INSTALLED_APPS, написать первое view, подключить маршруты.
- Ключевые команды:
django-admin startproject config .,python manage.py startapp,python manage.py runserver
Топ-3 ошибки: 1) Не добавить приложение в INSTALLED_APPS. 2) Забыть подключить urls.py приложения через include(). 3) Неверный тип данных при чтении из .env (env.bool, env.list).
📖 О чём этот урок
Урок 14 — это практикум на закрепление введения в Django. Все 11 задач строятся последовательно: от создания голого проекта до первого рабочего view с URL-маршрутом. Особый акцент — вынос конфигурации в файл .env с помощью библиотеки django-environ.
Если какие-то шаги кажутся незнакомыми — загляни в Урок 13 (Введение в Django).
Что закрепляем
- Создание проекта:
django-admin startproject config . - Управление секретами через
.env+django-environ - Считывание
SECRET_KEY,DEBUG,ALLOWED_HOSTSиз переменных окружения - Условный выбор базы данных (SQLite vs MySQL) через переменную окружения
- Создание приложения:
python manage.py startapp first_app - Регистрация приложения в
INSTALLED_APPS - Написание простого view (HttpResponse)
- Определение URL-маршрутов в приложении и подключение к корневому
urls.py
📚 Что повторить перед изучением
- ← Урок 13: Введение в Django
- Работа с виртуальным окружением:
python -m venv venv,pip install - Переменные окружения: зачем нужны .env-файлы, безопасность секретов
- Основы HTTP: что такое GET-запрос, статус 200
🎯 Что изучать дальше
- → Урок 15: Django — модели (Library Project)
- Django ORM: DeclarativeBase, поля, миграции
- Django Templates Language (DTL): render(), context, теги
- Встроенная административная панель Django