Skip to content

Latest commit

 

History

History
39 lines (31 loc) · 3.12 KB

README.md

File metadata and controls

39 lines (31 loc) · 3.12 KB

API Yamdb

В этом проекты вы найдёте Dockerfile и docker-compose.yaml. Последний указанный файл запускает два контейнера: API отзывов о фильмах, книгах и песнях - yamdb, и базу данных PostgreSQL.

Предварительные требования использования приложения

  • Docker

P.S. Можно установить Docker Toolbox, если у вас Windows более раннего выпуска, нежели Windows 10.

Запуск приложения

  1. Склонируйте репозиторий git clone https://github.com/MariaMozgunova/infra_sp2.git [<dir_name>];
  2. Перейдите в папку командой cd <dir_name>;
  3. Создайте файл конфигураций .env:
    • сделайте копию шаблона файла .env cp .env.template .env;
    • присвойте актуальные значения всем полям.
  4. Запустите контейнеры docker-compose up -d;
  5. Когда проект будет запущен, перейдите на localhost:8000 и проверьте, что видите надпись 'Not Found'. Если вы установили Docker Toolbox, перейдите по адресу http://192.168.99.100:8000.

Отлично! Всё работает.

Заполнение базы начальными данными

  1. Выполните команду docker container ls, чтобы увидеть CONTAINER ID контейнера с полем IMAGE = infra_sp2_web;
  2. Выполните вход в контейнер командой docker exec -it <CONTAINER ID> bash;
  3. Выполните миграции python3 manage.py migrate;
  4. В файле initial_data.json подготовлены начальные данные, загрузите их в базу python manage.py loaddata initial_data.json;

Если вы хотите создать свои тестовые данные, посмотрите статью RealPython https://realpython.com/data-migrations/#examples . Также вы можете создать данные через shell, импортировав модели: python manage.py shell.

Создания суперпользователя контейнера

Если вы, находясь в docker-контейнере, захотите создать суперпользователя, выполните следующие действия:

  • Обновить список пакетов apt update;
  • Установите пакет sudo apt-get install sudo;
  • Создайте пользователя adduser <username>;
  • Добавьте нового пользователя в группу sudo usermod -aG sudo <username>.

Создание суперпользователя Django-проекта

В контейнере приложения выполните следующие команды:

  • python manage.py createsuperuser;
  • введите почту и придумайте пароль.