Skip to content

Hengich/FormsProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FormsProject

Web-приложение для определения заполненных форм.

Технологии

Python Django MongoDB Docker

Настройка после клонирования репозитория.

  1. Создать .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-ключа:
  1. Запускаем python-консоль python
  2. Вводим следующие команды:
    from django.core.management.utils import get_random_secret_key
    print(get_random_secret_key())
  1. Копируем ключ из консоли в .env - файл.
      SECRET_KEY=django-secret-<КЛЮЧ ИЗ КОНСОЛИ>
  1. Находясь в папке проекта FormsProject выполните команду docker-compose -f docker-compose.yml up --build.
  2. По адресу http://localhost:8000 будет доступен проект
  3. Необходимо выполнить миграции, для начала нужно попасть в контейнер docker exec -t -i formsproject-backend-1 /bin/bash
  4. Затем выполните команду python manage.py migrate
  5. Находясь в папке /app# выполните команду python manage.py loaddata api/fixtures/form_templates.json
  6. Теперь вы можете проверить работоспособность проекта, выполнив команду pytest

О проекте.

Сейчас в фикстуре имеется всего 2 шаблона, а именно Order Form и Contact Form следующего вида:

  1. Order Form:
{
   "order_date": "date",
   "order_email": "email",
   "order_phone": "phone"
}
  1. 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"
}

Работу выполнил: Есаков Даниил

About

Web-приложение для определения заполненных форм.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published