https://github.com/nigma/django-modern-template
Modern Django project template
https://github.com/nigma/django-modern-template
Last synced: about 1 year ago
JSON representation
Modern Django project template
- Host: GitHub
- URL: https://github.com/nigma/django-modern-template
- Owner: nigma
- Created: 2013-02-11T02:20:32.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2013-03-18T09:56:24.000Z (over 13 years ago)
- Last Synced: 2025-03-18T05:43:55.060Z (over 1 year ago)
- Language: JavaScript
- Size: 341 KB
- Stars: 44
- Watchers: 7
- Forks: 15
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
Awesome Lists containing this project
README
Modern Django project template
==============================
Opinionated Django project template by `en.ig.ma`_.
- Preconfigured requirements and application settings
- Settings divided into modules (no ``local_settings.py`` madness)
- Ready to deploy on Heroku
- Static files compression
- Basic app structure and templates
- Simple ``dj`` command that invokes ``python manage.py `` from
any project directory
Prerequisites
-------------
- Python 2.7
- PostgreSQL
- Node.js, npm and lessc for .less development
- AWS S3 storage account (see ``docs/deploy-on-heroku.rst``)
Setup project
-------------
Prepare project
"""""""""""""""
Start with creating a new Django project based on this project template::
django-admin.py startproject --template=https://github.com/nigma/django-modern-template/zipball/master
cd
This will set up and preconfigure your project. Now amend the domain
and site name settings in the ``conf/prod.py``and ``conf/dev.py``
files and you are almost ready for the first commit.
**Note:** the ``startproject`` command seems to skip the
``.heroku/collectstatic_disabled`` source file while copying files
from the template. If the ``.heroku`` directory is not present in the generated
project root directory, just create it manually and add an empty file
named ``collectstatic_disabled``::
mkdir .heroku
touch .heroku/collectstatic_disabled
First commit
""""""""""""
After configuring the project settings you are ready for the
initial commit::
git init
git add .
git commit -m "Initial commit"
Set heroku env
""""""""""""""
Once your project structure is ready, the next step is to create and configure
a heroku instance::
heroku create
dj generate_secret_key --settings=my_site.conf.test
heroku config:add DJANGO_SECRET_KEY=
heroku config:add AWS_ACCESS_KEY_ID=
heroku config:add AWS_SECRET_ACCESS_KEY=
heroku config:add AWS_STORAGE_BUCKET_NAME=
heroku labs:enable user-env-compile
As well as enable basic addons for database, cache and mail::
heroku addons:add heroku-postgresql:dev
heroku addons:add pgbackups:auto-month
heroku addons:add memcachier:dev
heroku addons:add mailgun:starter
heroku addons:add newrelic:standard
Push and migrate
""""""""""""""""
You should now be ready to deploy your new project to heroku::
git push heroku master
heroku run python manage.py syncdb
heroku run python manage.py migrate
See ``docs/deploy-on-heroku.rst`` for more info.
Out of the box
""""""""""""""
This is what you get: `dmt.herokuapp.com `_
Commercial Support
------------------
This project has been created to make Django development faster and follow
best practices for own sites and our clients. Contact us at en@ig.ma for
your next project.
.. _en.ig.ma: http://en.ig.ma/