Skip to content

Latest commit

 

History

History
135 lines (91 loc) · 4.58 KB

README.md

File metadata and controls

135 lines (91 loc) · 4.58 KB

Foodgram workflow

Foodgram

Поиск и публикация рецептов.

Компиляция кода Frontend и запуск в режиме отладки

Этот способ используется, если требуется изменять код Frontend или Backend.

Перейдите в папку deployment_dev и выполните команду

sudo docker compose up -d

Будет произведена сборка кода Frontend и запуск сервера Nginx, настроенного на работу с отладочным сервером Django.

Перейдите в папку backend и выполните команды:

Создание и активация окружения

python -m venv venv
source venv/bin/activate

Установка зависимостей

pip install -r requirements.txt

Создание базы данных для Djnago

python foodgram/manage.py migrate

Создание администратора Django

python foodgram/manage.py createsuperuser

Заполнение базы данных тестовыми записями (ингредиенты и теги)

python foodgram/manage.py sample_data

Для запуска сервера в отладочном режиме установите переменну среды DJANGO_DEBUG.

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

python foodgram/manage.py runserver

Установка в рабочем режиме

Проект предполагает запуск в контейнере, на основе загружаемого из Интернет образа.

Внутри папки deployment необходимо создать файл ".env" для настройки переменных окружения в контейнере.

  • DB_ENGINE - система управления базами данных
  • POSTGRES_DB - имя создаваемой базы данных
  • POSTGRES_USER - имя пользователя базы данных
  • POSTGRES_PASSWORD - пароль пользователя базы данных
  • DJANGO_SECRET - настройка кода SECRET_KEY в Django
  • ALLOWED_HOSTS - разрешенные адреса подключения к Django

Пример файла .env

DB_ENGINE=django.db.backends.postgresql
POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=12345678
DJANGO_SECRET=2x$e%!k_u_0*gq0s4!_u(2(^lpy&gir0hg)q&5nurj0-sseuav
ALLOWED_HOSTS=127.0.0.1,10.0.0.1

Запустите приложение в контейнере командой

sudo docker compose up -d

Настройка проекта в рабочем режиме

Создание базы данных для Django

sudo docker compose exec web python manage.py migrate

Сборка статических элементов

sudo docker compose exec web python manage.py collectstatic

Создание администратора Django

sudo docker compose exec web python manage.py createsuperuser

Заполнение базы данных тестовыми записями (ингредиенты и теги)

sudo docker compose exec web python manage.py sample_data

Документация

После запуска приложения документация API доступна по адресу http://127.0.0.1/api/docs/

Технологии

Приложение работает на

Разработчики

Проект разработан

Демонстрация

Website

http://finemechanic.hopto.org/

http://finemechanic.hopto.org/api/docs/