create-django
v0.3.0
Published
Initialize new django project
Downloads
2
Readme
npm init django
./django-admin startproject
in a virtualenv with the single command.
Introduction
Unlike other cookiecutter templates which create thousands of files even in the default case, this project aims to provide a bare-minimum project template, with only the required code
The command started without any options, produce the same output as Django startproject
command
To use full-power of this package npm and poetry tools need to be installed.
Typical usage
Get initial Django project with Poetry managed virtual environment.
$ npm init django <project-name> [directory] -- --poetry
$ poetry install
$ poetry shell
$ ./manage.py migrate
$ ./manage.py runserver
Options
--asgi
Enables uvicorn based deployment
--celery
First-step with Django Celery configuration
Settings changed to use Redis as the Celery broker.
A celery worker could be started with the command:
$ celery -A <project-name> worker -l info
--deploy
200+ lines single file ansible script to deploy to any Ubuntu-based VM. That's less than any deployment tutorial you can read about.
Compatible with many hosting solutions - DigitalOcean, Linode, Vultr, etc
- HTTP2/HTTPS with Letsencrypt certificates and Caddy server
- Systemd init scripts
- Postgresql fast connected over Unix socket.
- django-environ managed settings
- ASGI/Redis/Celery enabled if requested
# Initial server provision
$ ansible-playbook -i example.com, -u root --ask-vault-pass deploy.yml
# Refresh existing installation (without .env changes)
$ ansible-playbook -i example.com, -u root --tags=update deploy.yml
--deploy-vault-pass
The password to manage deployment secrets. If no option is provided the password would be requested from console input.
--poetry
Add pyproject.toml
with all required project dependencies
--redis
Enable Redis cache
--rest
Add django-rest-framework
dependency and enables SchemaView
--user
Custom user model, forms and admin.
--web
Modern ECMAScript and SASS build pipeline with Rollup.
Add components/index.js
and components/my-component
Web Compoenent sample. Result Javascript and CSS compiled to the configured Django static/
directory
$ npm run build # dev and minified build
$ npm run watch # continuously watch and rebuild dev version
$ npm run eslint # code style check
--all
Demo project with all features enabled
Documentation
The list of links to software documentation to learn more about the technologies integrated into this minimal django project template:
Ansible, Babel, Caddy, Celery, Dart Sass, Django, Django-environ, Django-redis, Django RestFramework, ESLint, Gunicorn, NPM, Poetry, PostgreSQL, Redis, Rollup.js, Uvicorn, Systemd Unit Files and Logging, Viewflow, Web Components,