Opinionated version of django-admin startproject
that intends to go further and do things that startproject can't do but most people will do anyway. Here's what you can get:
.env
files. This functionality requires the django-environ
package. Also, app logger is mostly pre-configured for you.script/bootstrap
and other scripts to rule them all so your fellow developers and maintainers don't ask you how to run this thing. Current versions of these scripts optimized for use with poetry, but you can easily adapt them for any Python package manager.django-admin
installed and available from $PATH
.Generated files will work fine in Django >= 2.0, not tested in earlier versions.
pip install django-spinproject
django-spinproject --create <path>
django-spinproject --init
You're all set. Now you can take a look at the list of available modules: django-spinproject --help
Use django-spinproject --enable
to enable a module, django-spinproject --upgrade
to apply changes.
--create PATH
: create django project in specified path--init
: create spinproject.json file--enable MODULE_TO_ENABLE
: enable specified module; use 'all' to enable most common modules; use 'ALL' to enable all available modules;--disable MODULE_TO_DISABLE
: disable specified module--upgrade [MODULE_TO_UPGRADE]
: upgrade (specified or all) enabled modulesgitignore
ā Creates .gitignore
file suitable for most Django projects.srta
ā Creates Scripts to Rule Them All (simplifies life a lot, you should check it out).pytest
ā Creates pytest.ini
and .coveragerc
files.dockerfile
ā Creates a Dockerfile.dockerignore
ā Creates .dockerignore
(you should totally do that).docker-scripts
ā Creates additional SRTA scripts for building and pushing your Docker image.gitlab-ci
ā Creates GitLab CI config, .gitlab-ci.yml
.pg-readonly
ā Creates a DatabaseWrapper class for readonly connection to PostgreSQL.settings
ā Improves the default settings.py
, adding support for envvars and .env
files. Also enables Whitenoise and CLI logger.login-template
ā Creates minimal login/logout pages.(for requests, create an issue or drop me a line at m1kc@yandex.ru)
See the Releases page.