- 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 up
docker-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:8000
export DJANGO_SETTINGS_MODULE="config.production"