Pet-проект. Создается в целях более лучшего изучения Python / JavaScript
- Python 3.11 (Django, Django REST framework, Celery)
- HTML5, CSS (Bootstrap 5, UIkit), JS (Next.js, React, jQuery)
- NGNIX, Gunicorn
- Redis, PostgreSQL
-
Создаём виртуальное окружение Python и активируем его
$ python -m venv venv $ venv\Scripts\activate.bat - для Windows / source venv/bin/activate - для Linux и MacOS
-
Устанавливаем зависимости проекта
$ pip install -r requirements.txt
-
Создаем кеш-таблицу в бд (нужна для хранения настроек проекта)
$ python manage.py createcachetable
-
Выполняем миграции бд
$ python manage.py migrate --noinput
-
Обычный запуск
$ python manage.py runserver
-
Запуск при помощи Gunicorn
$ gunicorn config.wsgi:application --bind 0.0.0.0:8000
И определенно стоит настроить .env файл перед запуском
-
Собрать проект (prod.env или dev.env)
$ docker-compose -f docker-compose.yml up -d --build
-
Удаление контейнеров
$ docker-compose down -v
$ python manage.py createsuperuser --username admin@email.com --email admin@email.com
$ docker-compose -f docker-compose.yml exec web python manage.py createsuperuser --username admin@email.com --email admin@email.com
Реализована при помощи QIWI API, проверка оплаты происходит при помощи задач Celery по расписанию.
Требуется обязательно установить приватный ключ QIWI в админке или settings.py / .env файлах. Получить можно тут: https://qiwi.com/p2p-admin/api
-
Команды Celery
Windows: $ celery -A config beat --loglevel=info $ celery -A config worker --pool=solo --loglevel=info Linux: $ celery -A config worker --beat --loglevel=info
Полный REST API, пригодится когда буду заниматься выделенным фронтом. Для доступа к некоторым разделам API нужны права администратора.
API swagger: http://.../swagger
POST запрос по адресу http://.../api/db_auto_fill
с содержимым в формате:
{
model: "Categories",
amount: 7
}
Необходимы права администратора