habrahabr

Актуальный сборник шаблонов для создания проектов и приложений на Django

  • четверг, 16 декабря 2021 г. в 00:39:15
https://habr.com/ru/post/595843/
  • Python
  • Django
  • Nginx
  • ReactJS


Репозиторий

Какая существует проблемы: Слишком много времени уходит на первоначальную настройку Django проекта. Существует много технологий которые уже стали неотъемлемыми зависимостями для Django проектов. Например:

  1. Docker

  2. Nginx

  3. Gunicorn

  4. PostgreSQL

  5. Файлы с переменными окружения

  6. REST API

  7. React (или другой фронтовой фреймворк)

  8. Makefile

Первоначально настраивать их вручную занимает 20 минут (если не допускать ошибок). ЭТО НЕПРИЕМЛЕМО.

Поэтому был создан это репозиторий в котором хранятся шаблоны для проекта и приложения Django. Для рендеринга шаблонов используется стандартный шаблонизатор проекта Django


Вот пример замены стандартных шаблонов Django на наши, будем использовать виртуального окружения venv, и Linux. (Этот скрипт можно выполнить за одну команду)

# Создаем папку со всем проектом, И переходим в неё
dir="ИмяПроекта";
mkdir ${dir} && cd ${dir};
# Копируем этот репозиторий.
git clone https://github.com/denisxab/django-start-pack.git .;
# На всякий случай выходим из ВО если мы в нем находимся.
deactivate;
# Создаем виртуальное окружение, Актируем его, устанавливаем `Django`.
python -m venv venv && . ./venv/bin/activate && pip install Django;
# Создаем переменную с версий текущего ВО `Python`.
py_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))');
# Удаляем стандартные шаблон проекта и приложения `Django`.
rm -rf ./venv/lib/python${py_version}/site-packages/django/conf/project_template ./venv/lib/python${py_version}/site-packages/django/conf/app_template;
# Копируем шаблоны из репозитория в ВО.
cp -r project_template ./venv/lib/python${py_version}/site-packages/django/conf/ &&
cp -r app_template ./venv/lib/python${py_version}/site-packages/django/conf/ &&
# Удаляем ненужные файлы/папки.
rm -rf project_template app_template .git;
# Показать результат `Django` шаблона
tree ./venv/lib/pythonn${py_version}/site-packages/django/conf/project_template &&
tree ./venv/lib/pythonn${py_version}/site-packages/django/conf/app_template;

Теперь создадим проект как обычно, только укажим дополнительные разширения для шаблонизатора.

django-admin startproject <ИмяПроекта> -e py,env,dockerignore,gitignore,json;

Чтобы начать разрабывать ваш проект вам достаточно выполнить

cd <ИмяПроекта>;
# Первоначально настраиваем проект
make init_proj;
# Запуска `webpack`
make webpack_run;
# Запускам `Django` сервер (запустите в новом окне)
make dj_run;