create-django

0.3.0 • Public • Published

npm init django

./django-admin startproject in a virtualenv with the single command.

Demo run gif

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,

Readme

Keywords

none

Package Sidebar

Install

npm i create-django

Weekly Downloads

1

Version

0.3.0

License

UNLICENSED

Unpacked Size

42.3 kB

Total Files

24

Last publish

Collaborators

  • kmmbvnr