Skip to content

fr0mhell/orm-examples

Repository files navigation

Пример Django проекта

Useful packages

  • django-extensions - расширенные команды для Django, и много чего еще
  • factory-boy - генерация тестовых данных

Makefile and shortcuts

В данном проекте используется Makefile. Он содержит шорт-каты - короткие команды-обертки, внутри которых выполняется 1 и более команда.

Например, для создания нового супер-пользователя для локальной разработки вместо команды

python3 manage.py createsuperuser --email root@root.ru --username root -v 3

можно будет использовать шорткат createlocalsu:

make createlocalsu

Подробнее про Makefile

Docker


Важное: 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

Собираем

docker-compose build

Запускаем

docker-compose up
docker-compose up -d backend-dev

Сеть в docker-compose, часть 1

Пересобираем контейнеры

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

Инфраструктура Django-проекта

export DJANGO_SETTINGS_MODULE="config.production"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published