/infra_sp2

Multi-user Django blog (educational project for Yandex.Praktikum). Learning to containerize.

Primary LanguagePython

chaplinskiy/infra_sp2

Учебный проект 15 спринта факультета бэкенд-разработки Яндекс.Практикума

стек:

  • Python
  • Django
  • Docker
  • Nginx
  • Много чего еще (см. файл api_yamdb/requirements.txt)

руководство по установке Docker

можно найти здесь


Как запустить проект:

Клонировать репозиторий и перейти в него в командной строке:

git clone https://github.com/chaplinskiy/infra_sp2.git
cd api_yamdb/

Cоздать и активировать виртуальное окружение:

python3 -m venv env
source env/bin/activate
python3 -m pip install --upgrade pip

Установить зависимости из файла requirements.txt:

pip install -r requirements.txt

Запустить приложение в контейнерах:

из директории infra/

docker-compose up -d --build

Выполнить миграции:

из директории infra/

docker-compose exec web python manage.py migrate

Создать суперпользователя:

из директории infra/

docker-compose exec web python manage.py createsuperuser

Собрать статику:

из директории infra/

docker-compose exec web python manage.py collectstatic --no-input

Остановить приложение в контейнерах:

из директории infra/

docker-compose down -v

Запуск pytest:

при запущенном виртуальном окружении

cd infra_sp2 && pytest

Документация API с примерами:

/redoc/

шаблон наполнения env-файла

см.

infra/.env.template

описание команды для заполнения базы данными

cd api_yamdb && python manage.py loaddata ../infra/fixtures.json

Другие проекты автора:

https://github.com/chaplinskiy/