- Проект находится в разработке.
Библиотека | Описание |
---|---|
python 3.10 | Язык программирования Python версии |
django 4 | Фронт на Джанго-шаблонах |
celery | Очередь задач |
rabbitmq | Брокер для celery |
flower | Трекер для celery задач |
django-view-breadcrumbs | "Хлебные крошки", breadcrumbs для отображения "пути". |
django-ckeditor 5 | Редактор теста |
python-slugify | Транслитерация текста |
Poetry | Пакетный менеджер |
Environs[django] | Для хранения секретов в файле .env |
django-json-widget | Для удобного просмотра и редактирования JSONField |
django-crispy-forms(c crispy_bootstrap5) | Для Генерации форм |
bootstrap 5 | CSS |
pillow | images |
sorl-thumbnail | images thumbnails |
django-ckeditor-5 | Редактор текста для админки |
django-dirtyfields | Отслеживание изменений в объекте модели, до сохранения в БД |
gunicorn | wsgi-сервер |
django-split-settings | Позволяет разделять настройки на несколько файлов |
sentry | Отслеживание ошибок |
HTMX | Интерактивные элементы(пагинация по скролу вниз.) |
django-htmx | Middleware для работы с HTMX. |
requests | Для отправки уведомлений в Телеграм |
Библиотека | Описание |
---|---|
pre-commit | Автоматический запуск black, isort, flake8 при использование git commit |
black, isort, flake8 | Code Style |
django-debug-toolbar | Оверлей для разработки. |
django-stubs[compatible-mypy] | typehints |
djlint | Линтер для Django-шаблонов |
selenium | Функциональные тесты |
Factory Boy | Generate fake, test data |
django-rich | Colourized tests outputs |
- Везде используются сокращения dev и prod.
- Используется стратегия "Merge Compose files". т.е. есть базовый
compose.yml
и он расширяется файломcompose.override.yml
для dev и файломcompose.prod.yml
для prod. - Переменные окружения завязанные на dev/prod уже прописаны.
- Запуск:
docker compose up
- запустится сразуcompose.yml
иcompose.override.yml
который расширяет его до dev версии. - Запуск
djnago runserver
иcelery worker
.
Для этого есть короткие команды создаваемыеpoetry
:dwc
(django with celery)dr
(django run)cw
(celery worker)
- Доступны management команды для создания фикстур:
python manage.py fixture
- Для создания фикстур.python manage.py delete
- Для отчистки таблиц в которые были добавлены фикстуры.
- Создается superuser с login: admin password: admin
login и password берутся из environment variables вcompose.override.yml
, там их можно заменить.
Запуск: docker compose -f compose.yml -f compose.prod.yml up
- базовый файл и расширяющий его. Последовательность важна!
- Celery работает в одном контейнере с Django, т.к. так проще, выносить ее в отдельный контейнер сейчас нету необходимости.