Перейти к содержанию

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[изменения применяются к БД]