- Django Модель Item с полями (name, description, price)
- API с двумя методами:
- GET
/buy/{id}, c помощью которого можно получить Stripe Session Id для оплаты выбранного Item. При выполнении этого метода c бэкенда с помощью python библиотеки stripe должен выполняться запрос stripe.checkout.Session.create(...) и полученный session.id выдаваться в результате запроса - GET
/item/{id}, c помощью которого можно получить простейшую HTML страницу, на которой будет информация о выбранном Item и кнопка Buy. По нажатию на кнопку Buy должен происходить запрос на/buy/{id}, получение session_id и далее с помощью JS библиотеки Stripe происходить редирект на Checkout форму stripe.redirectToCheckout(sessionId=session_id)
- GET
- Запуск используя Docker
- Использование environment variables
- Просмотр Django Моделей в Django Admin панели
- Модель Order, в которой можно объединить несколько Item и сделать платёж в Stripe на содержимое Order c общей стоимостью всех Items
- Создайте файл
.envв корнейвой директории проекта и задайте в нем имя, почту, пароль для супер-пользователя и свой stripe api key в следующем формате:STRIPE_API_KEY=key DJANGO_SUPERUSER_USERNAME=admin [email protected] DJANGO_SUPERUSER_PASSWORD=admin - В корневой директории выполните команду:
docker-compose up
Проект будет размещаться на http://127.0.0.1:8000
- Объекты модели Item создаются через админ-панель(http://127.0.0.1:8000/admin)
- Заказ создается автоматически после первого добавления в него товара
/- главная страница со всеми товарами/item/{id}- страница товара/item/{id}/buy/- оплата товара/item/{id}/add-to-order/- добавление товара в заказ/orders/- страница с заказами/orders/{id}/- страница заказа/orders/{id}/buy/- оплата заказа