django-init is a project boilerplate for Django based projects.
- Django 3.1.x
- Python 3.9.x
- Support for black!
- 12-Factor based settings management via django-environ, reads settings from
.env
if present. - Supports PostreSQL 13.0 (support of postgis-3.0 is available).
- Ready to deploy on Heroku (optional) and Ubuntu 20 LTS via Ansible.
- Django Rest Framework 3.12.x.
- Uses
django_sites
instead ofdjango.contrib.sites
. - Uses mkdocs for project documentation. Optionally, password protect the docs when deployed.
- Uses pytest as test runner.
- Github actions for running isolated tests and deployments to dev/qa/prod environment on Heroku from git branches.
- Custom
User
app, for easier extensibility. - Custom
Auth
app with JWT based Token Backend system withlogin
,logout
andcurrent_user_profile
modification views for easier extensibility. - Media storage using Amazon S3 (optional).
- Letsencrypt Support via certbot.
- robots.txt and humans.txt configured.
Install cookiecutter with brew install cookiecutter
or pip install cookiecutter
.
cookiecutter gh:Fueled/django-init
It will ask you couple of questions required to generate the project. It will generate a folder containing all the files in your current working directory.
If you opt to setup the project automatically, it will also:
- initialize a git repo and bump initial tag and version.
- create a virtualenv in the folder
venv
inside the project. - install all the python dependencies inside it.
- try to create a postgres database and run the initial migration against it.
then only thing you'll need to do is:
cd
into the newgithub_repository
folder just created.- Activate virtualenv
source venv/bin/activate
. - Run
make run
or./manage.py runserver
Don't forget to carefully look at the generated README. Awesome, right?
You can also explore the wiki section for details on advance setup and usages.
django-init
is a rolling release project. Commit and fixes are added to master
branch on regular basis and always have latest stable django and associated libraries. You are advised to follow-up with changelogs.
Refer to CHANGELOG.md.
Everyone interacting in the django-init project's codebase, issue trackers, chat rooms, and mailing lists is expected to follow the PyPA Code of Conduct.
- https://github.com/pydanny/cookiecutter-django
- https://github.com/wemake-services/wemake-django-template
- https://github.com/lionheart/django-template
Built with ♥ at Fueled