NOTE: A Django project may contain one or more apps

pip install Django will install Django

django-admin.py startproject <name_of_project> will create a new Django project with the following directory structure:

manage.py is the same as django-admin.py plus:

See django-admin and manage.py

python manage.py startapp <name_of_app> will create a new Django app within this project with the following directory structure:


DB Tools:


Use manage.py graph_models to output DOT stream of database modeling. You can specify default settings in settings.py:

  'all_applications': True,
  'group_models': True,

Sometimes you'll make changes so drastic in a new project that it's better to redo your migrations:

Django Admin

Django has an admin area (app) by default. Two Scoops believes its always easier to create a new admin then to override the defaults. The official Django documentation has information on overriding templates, adding new views, etc.


TODO for implementing your User models:


Two Scoops of Django: Best Practices for Django 1.8. Daniel Roy Greenfeld & Audrey Roy Greenfeld. 2015-05-15.

Tango with Django. Leif Azzopardi & David Maxwell. 2016-10-04. Seems best for developers without prior MVC experience.

The Django admin site. Django Documentation.

Filename: django.md (Edit)
Modified: 2017-02-05 (a3ff946e77d8bcdf6b46e5d7e6877da32b94565e)
Created: 2016-12-17 (bfb64375d14951efd28e6b126c5c6f893ba88ef4)