Pull to refresh

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

Reading time2 min
Views11K

Репозиторий

Какая существует проблемы: Слишком много времени уходит на первоначальную настройку 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;
Tags:
Hubs:
-6
Comments12

Articles