CΠ°ΠΉΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ΅ΠΏΡΡ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΠΆΠΈΠ΅ ΡΠ΅ΡΠ΅ΠΏΡΡ Π² ΠΈΠ·Π±ΡΠ°Π½Π½ΠΎΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π½Π° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π΄ΡΡΠ³ΠΈΡ Π°Π²ΡΠΎΡΠΎΠ². Π‘Π΅ΡΠ²ΠΈΡ Β«Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠΊΡΠΏΠΎΠΊΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΊΡΠΏΠΈΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ Π±Π»ΡΠ΄.
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ β ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ΅ΡΡΠΈ ΡΠ΅ΡΠ΅ΠΏΡΠΎΠ², ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎ Π΄Π°ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ (ΠΎΡ Π½ΠΎΠ²ΡΡ ΠΊ ΡΡΠ°ΡΡΠΌ). ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅ΠΏΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡΠ°Ρ : Π²Π½ΠΈΠ·Ρ ΡΡΡΠ°Π½ΠΈΡΡ Π΅ΡΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΡ.
ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ΅ β ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅ΠΏΡΠ°. ΠΠ»Ρ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ β Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅ΡΠ΅ΠΏΡ Π² ΠΈΠ·Π±ΡΠ°Π½Π½ΠΎΠ΅ ΠΈ Π² ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠΊΡΠΏΠΎΠΊ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° Π°Π²ΡΠΎΡΠ° ΡΠ΅ΡΠ΅ΠΏΡΠ°.
ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ΅ β ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π²ΡΠ΅ ΡΠ΅ΡΠ΅ΠΏΡΡ, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://51.250.96.184/api/docs/ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Foodgram. Π Π½Π΅ΠΉ ΠΎΠΏΠΈΡΠ°Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΊ API ΠΈ ΡΡΡΡΠΊΡΡΡΠ° ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΡ ΠΎΡΠ²Π΅ΡΠΎΠ². ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΡΠΊΠ°Π·Π°Π½Ρ ΡΡΠΎΠ²Π½ΠΈ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ°: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΠ»ΠΈ, ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°Π·ΡΠ΅ΡΡΠ½ Π·Π°ΠΏΡΠΎΡ.
- Python 3.7
- Django 3.1.14
- Docker
- Nginx
- Github Action
Workflow ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ΅ΡΡΡΡΡ ΡΠ°Π³ΠΎΠ²:
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ΄Π° Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ PEP8 ΠΈ Π·Π°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ°;
- Π‘Π±ΠΎΡΠΊΠ° ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°Π·Π° Π½Π° DockerHub;
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄Π΅ΠΏΠ»ΠΎΠΉ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ;
- ΠΡΠΏΡΠ°Π²ΠΊΠ° telegram-Π±ΠΎΡΠΎΠΌ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π² ΡΠ°Ρ.
- ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ.
https://github.com/Spookyviking/foodgram-project-react.git
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
cd foodgram-project-react
python -m venv venv
- ΠΠΊΡΠΈΠ²ΠΈΡΡΠΉΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅.
source venv\Scripts\activate
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
python -m pip install --upgrade pip
pip install -r backend\requirements.txt
- Π ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ manage.py Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
python manage.py makemigrations users
python manage.py makemigrations recipes
python manage.py migrate
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈ:
python manage.py createsuperuser
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
- ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ db
- ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ backend
- ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ web-ΡΠ΅ΡΠ²Π΅ΡΠ° nginx
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
infra/
, Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» .env.template ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ Π΅Π³ΠΎ Π² .env - ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
docker-compose up -d --build
- ΠΠ»Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
infra/
Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:docker-compose down -v
- ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ
infra/
docker-compose exec backend python manage.py loaddata dump.json
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄Π΅ΠΏΠ»ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ:
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ docker:
sudo apt install docker.io
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ docker-compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
- Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ docker-compose.yaml ΠΈ nginx/default.conf ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π² home/<Π²Π°Ρ_username>/docker-compose.yaml ΠΈ home/<Π²Π°Ρ_username>/nginx/default.conf ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
- Π Secrets GitHub Actions ΡΠΎΡΠΊΠ½ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ:
- SSH_KEY - ssh private key Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ
- HOST - public id Ρ ΠΎΡΡΠ°
- USER - ΠΈΠΌΡ user-Π° Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅
- PASSPHRASE - ΠΏΠ°ΡΠΎΠ»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎ ssh-key
- DOCKER_USERNAME - username Π½Π° DockerHub
- DOCKER_PASSWORD - ΠΏΠ°ΡΠΎΠ»Ρ Π½Π° DockerHub
- POSTGRES_USER - ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
- POSTGRES_PASSWORD - ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅
- DB_ENGINE - Π½Π°ΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ django-ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΊ postgresql
- DB_NAME - ΠΈΠΌΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
- DB_HOST - Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ° (ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°)
- DB_PORT - ΠΏΠΎΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΠ
- TELEGRAM_TOKEN - token telegram-Π±ΠΎΡΠ°
- TELEGRAM_TO - id ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π΄Π΅ΠΏΠ»ΠΎΠ΅
- DJANGO_SU_ADMIN - ΠΈΠΌΡ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠΏΠ΅ΡΡΠ·Π΅ΡΠ° Π² django-ΠΏΡΠΎΠ΅ΠΊΡΠ΅
- DJANGO_SU_EMAIL - ΡΠ». ΠΏΠΎΡΡΠ° ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠΏΠ΅ΡΡΠ·Π΅ΡΠ° Π² django-ΠΏΡΠΎΠ΅ΠΊΡΠ΅
- DJANGO_SU_PASSWORD - ΠΏΠ°ΡΠΎΠ»Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠΏΠ΅ΡΡΠ·Π΅ΡΠ° Π² django-ΠΏΡΠΎΠ΅ΠΊΡΠ΅
- LANGUAGE_CODE - ΡΠ·ΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- TIME_ZONE - Π·ΠΎΠ½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ°ΡΠΈΠΊΡ
docker-compose exec python manage.py makemigrations users
docker-compose exec python manage.py makemigrations recipes
docker-compose exec python manage.py makemigrations core
docker-compose exec python manage.py migrate
docker-compose exec backend python manage.py collectstatic --noinput
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ Π²Π½ΡΡΡΡ ΠΎΠΊΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
docker exec -it <mycontainer> bash
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΡΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ csv ΡΠ°ΠΉΠ»Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ ΠΏΠΎΠ»Π΅ΠΉ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΡΠ»ΠΈ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΡΠΊΠ΅ Π½Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅, ΠΈΡΠΏΡΠ°Π²ΡΡΠ΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
- ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π² shell:
docker-compose exec backend python manage.py shell
- ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π½ΡΠΆΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ:
from recipes.models import Ingredient, Tag
- ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ:
from scripts.import_data import create_models
- ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΊΡΠΈΠΏΡ Ρ ΡΡΠ΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ:
file_path
β ΠΏΡΡΡ Π΄ΠΎ Π²Π°ΡΠ΅Π³ΠΎ csv ΡΠ°ΠΉΠ»Π°,
model
β ΠΊΠ»Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ· ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°Π½Π΅Π΅,
print_errors
β Π½ΡΠΆΠ½ΠΎ Π»ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ? (True or False
)
ΠΡΠΈΠΌΠ΅Ρ:
create_models('../data/ingredients.csv', Ingredient, True)
ΠΡΠΎΠ΅ΠΊΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://51.250.96.184
ΠΠ΄ΠΌΠΈΠ½ΠΊΠ°:
spookyviking
test@test.test
qwerty_1234
Π’Π΅ΡΡΠΎΠ²ΡΠΉ ΡΠ·Π΅Ρ:
Test User
aaa@aaa.aaa
qwerty_1234