Web-приложение для определения заполненных форм.
-
Создать
.envна основе указанного ниже примера. Указав валидные данные для подключения.SECRET_KEY=django-secret-key DEBUG=True ALLOWED_HOSTS=localhost,127.0.0.1 MONGO_DB_HOST=mongodb://mongodb:27017 MONGO_DB_PORT=27017 MONGO_DB_NAME=mongodb MONGO_DB_USERNAME=root MONGO_DB_PASSWORD=password
Вариант генерации django-ключа:
- Запускаем python-консоль
python - Вводим следующие команды:
from django.core.management.utils import get_random_secret_key
print(get_random_secret_key())
- Копируем ключ из консоли в .env - файл.
SECRET_KEY=django-secret-<КЛЮЧ ИЗ КОНСОЛИ>- Находясь в папке проекта
FormsProjectвыполните командуdocker-compose -f docker-compose.yml up --build. - По адресу http://localhost:8000 будет доступен проект
- Необходимо выполнить миграции, для начала нужно попасть в контейнер
docker exec -t -i formsproject-backend-1 /bin/bash - Затем выполните команду
python manage.py migrate - Находясь в папке
/app#выполните командуpython manage.py loaddata api/fixtures/form_templates.json - Теперь вы можете проверить работоспособность проекта, выполнив команду
pytest
Сейчас в фикстуре имеется всего 2 шаблона, а именно Order Form и Contact Form следующего вида:
- Order Form:
{
"order_date": "date",
"order_email": "email",
"order_phone": "phone"
}
- Contact Form:
{
"user_email": "email",
"user_phone": "phone"
}
Однако этих шаблонов хватит для проверки работоспособности проекта. Также есть возможность создать свою фикстуру, или изменить (дополнить) уже существующую.
POST /api/get_form/
тело запроса:
{
"user_email": "example@example.com",
"user_phone": "+7 123 456 78 90"
}
тело ответа:
{
"template_name": "Contact Form"
}
Работу выполнил: Есаков Даниил