О чем этот проект
Этот репозиторий с шаблонами для быстрого создания Django
проекта.
В шаблоне проекта настроены следующий технологий:
Django
gunicorn
(В качествеWSGI
сервера)Django Ninja
(В качествеREST API
)Docker
Docker-compose
Nginx
(ЧерезDocker-compose
)PostgreSQL
(ЧерезDocker-compose
).env
(Все важные настройки проекта хранятся в переменных окружения)Makefile
(Готовые стандартные команды для работы с проектом)npm
React
(Для рендеринга шаблонов)webpack.config.js
(Для автоматической сборкиReact
при изменении файлов).gitignore
&&.dockerignore
Установка
Наша задача скопировать(с заменой) данные шаблон в папку где хранятся стандартные шаблоны Djnago
.
Вот пример замены стандартных шаблонов 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;
Использование
Создать проект (-e
указывает расширение файлов которые нужно отрендерить как шаблон)
<div class="highlight highlight-source-shell position-relative overflow-auto" data-snippet-clipboard-copy-content="django-admin startproject -e py,env,dockerignore,gitignore,json;”>
django-admin startproject <ИмяПроекта> -e py,env,dockerignore,gitignore,json;