This project provides an alternative startproject structure with some boilerplate code for a quick start of your Django Projects.
$ django-admin.py startproject --extension=txt,json --name=Makefile,Procfile,.env-example --template=https://github.com/dvl/django-project-template/archive/master.zip my_project
$ cd my_project
$ npm install
$ cp .env-example .env
$ vim .env (to edit your database settings)
$ pip install -r requirements.txt
$ python manage.py migrateTo start development server
$ make serveTo run tests and get code coverage
$ make test- Django 1.8
django-debug-toolbaranddjango-extensionsbecause every project should have it.django-flat-themethat probably will be included in a future Django's release, so you can get familiar with it.- A
settings.pycompatible with 12factor powered bypython-decoupleanddj-database-url. - Custom home page.
- Custom login and password change page based on
contrib.auth(so maybe people will stop doing it from scratch). boweranddjango-compressorfor assets management.django-crispy-formsfor easy form display.Procfile,whitenoise,waitress-serverandpsycopg2for easy deployment on Heroku.Makefileto run tests and getcoveragereport.bcryptinstead ofpbkdf2(see notes bellow).
This project is configured to use bcrypt instead of Django's default pbkdf2
because it's better but you may need an additional package to make it works,
to install use:
$ sudo apt-get install libssl-dev libffi-dev python-devYou can also remove PASSWORD_HASHERS from settings.py and bcrypt==1.1.1
from requirements.txt to make Django use the default pbkdf2 and no
additional extra package will be required.