django-bootstrap-template / README.md

django-bootstrap-template

INTRO

This is a project template for Django 1.4+, which introduces the new project templates feature.

It includes:

  • Twitter bootstrap static files
  • customized project layout
  • sample base.html
  • a default "home page" view
  • commonly used 3rd party apps (South, debug toolbar etc)

GETTING STARTED

Download/checkout django-bootstrap-template to your local filesystem. Then create a new project:

django-admin.py myproject --template=/path/to/django-bootstrap-template/template

Set up your database and settings (PostgreSQL is assumed as default, modify accordingly) and you should be good to go.

LAYOUT

This template uses the default Django 1.4 template as a starting point. It also has some "opinionated" changes to that layout, as well as some ready-made views etc to minimize start-up time.

Settings

Settings are in a package, with specific development, production, and staging settings, all inheriting from settings.base. To use a specific settings module, for example:

python manage.py --settings=myproject.settings.staging

The "development" settings are assumed by default in manage.py, change this as needed. Add more settings modules as your environment requires.

Apps

A snag when creating a new Django project is to decide between an all in one "super-app" vs "many little apps". Having everything in one app is an anti-pattern when it gets to a certain size; on the other hand, when you have lots of apps with discrete functionality (as it should be) it's hard to determine what the "entry-point" app should be.

Instead what I've done is create a "super-app" which contains sub-applications, in an apps directory.

The "super-app", or main app, is the main package of your project. You should place all common code here, for example utility modules, generic templates and tags, base models/views/forms etc, as well as "top-level" views such as your splash page, about page etc. Anything requiring concrete models should live in a sub-application, under the apps package.

Obviously, your reusable apps - as opposed to project-specific apps - should ideally live outside this project layout.

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.