Django
Описание
Django — фреймворк для создания веб-сайтов и веб-приложений на Python.
Основные компоненты
| Компонент | Назначение |
|---|---|
manage.py |
Главная точка входа в проект Django. Выполняет команды Django, используя настройки текущего проекта |
settings.py |
Основной файл настроек проекта Django (БД, приложения, middleware, шаблоны, статические файлы и т.д.) |
urls.py |
определяет маршрутизацию URL-запросов. |
wsgi.py |
запусТочка входа для WSGI-серверов (Gunicorn, uWSGI). |
asgi.py |
Точка входа для ASGI-серверов (Uvicorn, Daphne). |
Команды Django
django-admin startproject <project_name> - создает новый проект.
python manage.py runserver - запускает Django веб-сервер.
python manage.py startapp <app_name> - создает новое приложение.
python manage.py createsuperuser - создает суперпользователя.
python manage.py makemigrations - создает файлы миграций на основе изменений моделей..
python manage.py migrate - применяет миграции к базе данных.
python manage.py shell - запускает Django Shell (Python с загруженным проектом Django).
Создание проекта Django
django-admin startproject mysite
django-admin startapp blog
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
python manage.py runserver 0.0.0.0:8000 # для запуска в Docker контейнере
Важно
makemigrations создает файлы миграций, но не меняет базу данных.
migrate применяет миграции к базе данных.
Порядок работы с Django
flowchart TD
A[Создать проект] --> B[Создать приложение]
B --> C[Подключить приложение в INSTALLED_APPS]
C --> D[Написать модели]
D --> E[makemigrations]
E --> F[migrate]
F --> G[createsuperuser]
G --> H[runserver]
Порядок работы с Django
1) Создать проект — создать каркас будущего сайта.
2) Создать приложение — добавить отдельный модуль (blog, users, shop).
3) Создать модели — описать структуру данных.
4) makemigrations — сравнить модели и создать файл изменений.
5) migrate — применить изменения к базе данных.
6) createsuperuser — создать администратора.
7) runserver — запустить встроенный сервер.
Жизненный цикл миграций Django
graph TD
A[models.py изменился]
--> B[python manage.py makemigrations]
B --> C[создается файл 0002_...]
C --> D[python manage.py migrate]
D --> E[изменения применяются к БД]