Skip to content

Базовый шаблон для старта django приложений

License

Notifications You must be signed in to change notification settings

ipodjke/backend_django_template

Repository files navigation

Django template

Стартовый шаблон для создания Django REST приложений

Шаблон для быстрого стара разработки REST приложений с использованием docker контейнеров.

Особенности

  • для создания виртуального окружения и установки зависимостей используется pipenv
  • контроль версий пакет и их совместимости осуществляется с помощью pipenv
  • разработке введется в docker контейнерах
    • dev версия: django + PostgreSQL
    • prod версия: nginx + (gunicorn + django) + PostgreSQL
  • используемая база данных PostgreSQL, но поддерживается возможность использования sqlite3
  • основные конфигурационные файлы разделены на dev и prod версию
  • из коробки переопределена модель Uesr, использовано наследование от AbstractUser
  • нет необходимости пере собирать docker контейнер при изменении кода проекта

Технологии

  • Django - Web framework
  • Django Rest FrameWork - is a powerful and flexible toolkit for building Web APIs
  • Gunicorn - Python WSGI HTTP Server для UNIX
  • Docker - Package Software into Standardized Units for Development, Shipment and Deployment
  • Nginx - HTTP-сервер и обратный прокси-сервер, почтовый прокси-сервер, а также TCP/UDP прокси-сервер общего назначения
  • PostgreSQL - база данных

Перечень используемых пакетов

Основные Dev
django flake8
djangorestframework flake8-quotes
environs flake8-broken-line
psycopg2-binary flake8-return
django-filter flake8-isort
pillow pytest
gunicorn pep8-naming

Структура

|--apps -> содержит приложения django
|--config -> содержит настройки django
|       |--settings -> настройки проекта
|--envfiles -> переменные виртуального окружения проекта
|       |--templates -> шаблон переменных виртуального окружения
|--nginx -> настройки web сервера
|--utils -> содержит полезные утилиты проекта

В корне проекта находятся файла для сборки контейнеров для dev и prod версии, а так же файлы с зависимостями и настройками всего проекта, в том числе стартовые скрипты создаваемых docekr контейнеров.

Использование

  • Старт dev версии:
docker-compose up -d --build
  • Старт prod версии:
docker-compose -f docker-compose.prod.yml up -d --build

License

MIT Free Software, Hell Yeah!

About

Базовый шаблон для старта django приложений

Resources

License

Stars

Watchers

Forks

Packages

No packages published