Использовал wemake-django-template, чуть-чуть переделал под себя и упростил
- Установить зависимости и создать .env файл на основе .env.template:
$ make install
- Запустить приложение локально:
$ make runserver
- Запустить фейковую миграцию для movies и другие инишиал миграции:
$ make fakemigrate
- Создать суперюзера для админки:
$ make createsuperuser
- Запустить приложение:
$ make up-dev
- Запустить фейковую миграцию для movies и другие инишиал миграции:
$ make dev-fakemigrate
- Создать суперюзера для админки:
$ make dev-createsuperuser
- Посмотреть текущие логи:
$ make dev-logs
- Остановить приложение:
$ make down
- Запустить приложение:
$ make up-prod
- Запустить фейковую миграцию для movies и другие инишиал миграции:
$ make prod-fakemigrate
- Создать суперюзера для админки:
$ make prod-createsuperuser
- Посмотреть текущие логи:
$ make prod-logs
- Остановить приложение:
$ make down
В качестве второго задания предлагаем расширить проект «Панель администратора»: запустить приложение через WSGI/ASGI, настроить отдачу статических файлов через Nginx и подготовить инфраструктуру для работы с Docker. Для этого перенесите в репозиторий код, который вы написали в первом спринте, и выполните задания из папки tasks
.
Задание предполагает выполнение трёх последовательных подзадач:
- Реализовать API на Django, который возвращает список фильмов.
- Запустить Django-приложение в Docker.
- Настроить работу приложения с помощью Nginx + uWSGI.
Для каждого задания есть небольшая теоретическая часть, которая поможет разобраться с необходимыми деталями для решения задач. Подзадачи нужно сдавать все сразу, чтобы сократить количество циклов проверки вашего кода. Так вы сможете получить обратную связь на всю вашу работу сразу.
- Приложение запускается под управлением сервера WSGI/ASGI.
- Для отдачи статических файлов используется Nginx.
- Виртуализация осуществляется в Docker.
- Cервер WSGI/ASGI — сервер с запущенным приложением.
- Nginx — прокси-сервер, который является точкой входа для web-приложения.
- PostgreSQL — реляционное хранилище данных.
- Приложение должно быть запущено через WSGI/ASGI.
- Все компоненты системы находятся в Docker.
- Отдача статических файлов осуществляется за счёт Nginx.
- Для работы с WSGI/ASGI-сервером база данных использует специального юзера.
- Для взаимодействия между контейнерами используйте docker compose.