- django-extensions - расширенные команды для Django, и много чего еще
- factory-boy - генерация тестовых данных
В данном проекте используется Makefile. Он содержит шорт-каты - короткие команды-обертки, внутри которых выполняется 1 и более команда.
Например, для создания нового супер-пользователя для локальной разработки вместо команды
python3 manage.py createsuperuser --email root@root.ru --username root -v 3можно будет использовать шорткат createlocalsu:
make createlocalsuВажное: Deleting docker entities
Собираем docker-образ проекта:
docker build . -t orm-examplesСоздаем контейнер
docker create --name orm-examples -p 8000:8000 -v "$(pwd)":/home/www/app orm-examplesСписок всех контейнеров
docker ps -aЗапускаем контейнер
docker start orm-examplesОткрываем логи нашего контейнера
docker logs orm-examplesОстанавливаем контейнер
docker stop orm-examplesСоздаем пустую базу данных
mkdir db
touch ./db/db.sqlite3Запускаем контейнер
docker start orm-examplesОткрываем логи нашего контейнера
docker logs orm-examplesПроваливаемся внутрь контейнера, применяем миграции, создаем суперпользователя и тестовые данные
docker exec -it orm-examples bash
python3 manage.py migrate
python3 manage.py createsuperuser --email root@root.ru --username root -v 3
python3 manage.py filldbПолучаем информацию о контейнере
docker inspect orm-examplesПолучаем информацию об IP-адресе
docker inspect orm-examples | grep -i "ipaddress"Останавливаем и удаляем контейнер
docker stop orm-examples && docker rm orm-examplesСобираем
docker-compose buildЗапускаем
docker-compose updocker-compose up -d backend-devПересобираем контейнеры
docker-compose stop && docker-compose buildЗаходим в контейнер backend-prod
docker exec -it orm-examples_backend-prod_1 bashСтучимся в контейнер backend-dev
curl backend-devА теперь с указанием доступного порта
curl backend-dev:8000export DJANGO_SETTINGS_MODULE="config.production"