Поиск и публикация рецептов.
Этот способ используется, если требуется изменять код 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 в DjangoALLOWED_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/
Приложение работает на
Проект разработан