cookiecutter-django/{{cookiecutter.repo_name}}
Saurabh Kumar cfa787384d fix(settings): fixes wrong cache config used for heroku
* Installs `django-heroku-memcacheify` only on heroku to 
  avoid installing `libmemcached-dev`[1] locally. 

[1] https://github.com/rdegges/django-heroku-memcacheify#install

Fixes: https://github.com/pydanny/cookiecutter-django/issues/80
2014-03-22 22:46:28 +05:30
..
{{cookiecutter.repo_name}} fix(settings): fixes wrong cache config used for heroku 2014-03-22 22:46:28 +05:30
docs Took project_name out of the directory structure 2014-03-11 19:19:39 -07:00
requirements Update boto version on production requirements 2014-02-21 14:58:55 -02:00
.editorconfig feat(coding-style): Add editorconfig for consistent coding style 2014-01-24 16:56:46 +05:30
.gitattributes Add .gitattributes file. 2013-12-12 17:31:45 +05:30
.gitignore feat(grunt): Add grunt task runner. 2014-01-10 05:06:35 +05:30
CONTRIBUTORS.txt Repo contributors should start with project author 2013-08-20 10:07:49 -04:00
Gruntfile.js fix(grunt): Use 'sass' as folder name instead of 'scss'. 2014-01-10 13:52:09 +05:30
LICENSE.rst Update cookiecutter vars in sphinx files. 2013-10-09 13:05:10 -07:00
package.json feat(grunt): Add grunt task runner. 2014-01-10 05:06:35 +05:30
Procfile via @natea set the python path in the procfile, and use foreman to start the server 2013-10-03 10:13:30 +02:00
README.rst feat(grunt): Add grunt task runner. 2014-01-10 05:06:35 +05:30
requirements.txt fix(settings): fixes wrong cache config used for heroku 2014-03-22 22:46:28 +05:30
setup.py Took project_name out of the directory structure 2014-03-11 19:19:39 -07:00

{{cookiecutter.project_name}}
==============================

{{cookiecutter.description}}


LICENSE: BSD

Settings
------------

cookiecutter-django relies extensively on environment settings which **will not work with Apache/mod_wsgi setups**. It has been deployed successfully with both Gunicorn/Nginx and even uWSGI/Nginx.

For configuration purposes, the following table maps the cookiecutter-django environment variables to their Django setting:

======================================= =========================== ============================================== ===========================================
Environment Variable                    Django Setting              Development Default                            Production Default
======================================= =========================== ============================================== ===========================================
DJANGO_AWS_ACCESS_KEY_ID                AWS_ACCESS_KEY_ID           n/a                                            raises error
DJANGO_AWS_SECRET_ACCESS_KEY            AWS_SECRET_ACCESS_KEY       n/a                                            raises error
DJANGO_AWS_STORAGE_BUCKET_NAME          AWS_STORAGE_BUCKET_NAME     n/a                                            raises error
DJANGO_CACHES                           CACHES                      locmem                                         memcached
DJANGO_DATABASES                        DATABASES                   See code                                       See code
DJANGO_DEBUG                            DEBUG                       True                                           False
DJANGO_EMAIL_BACKEND                    EMAIL_BACKEND               django.core.mail.backends.console.EmailBackend django.core.mail.backends.smtp.EmailBackend
DJANGO_SECRET_KEY                       SECRET_KEY                  CHANGEME!!!                                    raises error
DJANGO_SECURE_BROWSER_XSS_FILTER        SECURE_BROWSER_XSS_FILTER   n/a                                            True
DJANGO_SECURE_SSL_REDIRECT              SECURE_SSL_REDIRECT         n/a                                            True
DJANGO_SECURE_CONTENT_TYPE_NOSNIFF      SECURE_CONTENT_TYPE_NOSNIFF n/a                                            True
DJANGO_SECURE_FRAME_DENY                SECURE_FRAME_DENY           n/a                                            True
DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS   HSTS_INCLUDE_SUBDOMAINS     n/a                                            True
DJANGO_SESSION_COOKIE_HTTPONLY          SESSION_COOKIE_HTTPONLY     n/a                                            True
DJANGO_SESSION_COOKIE_SECURE            SESSION_COOKIE_SECURE       n/a                                            False
======================================= =========================== ============================================== ===========================================

* TODO: Add vendor-added settings in another table

Developer Installation
-----------------------

For getting this running on your local machine:

1. Set up a virtualenv.
2. Install all the supporting libraries into your virtualenv::

    pip install -r requirements/local.txt

3. Install Grunt Dependencies.

    npm install

4. Run development server. (For browser auto-reload, use Livereload_ plugins.)

    grunt serve

.. _livereload: https://github.com/gruntjs/grunt-contrib-watch#using-live-reload-with-the-browser-extension


Deployment
------------

Run these commands to deploy the project to Heroku:

.. code-block:: bash

    heroku create --buildpack https://github.com/heroku/heroku-buildpack-python
    heroku addons:add heroku-postgresql:dev
    heroku addons:add pgbackups
    heroku addons:add sendgrid:starter
    heroku addons:add memcachier:dev
    heroku pg:promote HEROKU_POSTGRESQL_COLOR
    heroku config:set DJANGO_CONFIGURATION=Production
    heroku config:set DJANGO_SECRET_KEY=RANDOM_SECRET_KEY
    heroku config:set DJANGO_AWS_ACCESS_KEY_ID=YOUR_ID
    heroku config:set DJANGO_AWS_SECRET_ACCESS_KEY=YOUR_KEY
    heroku config:set DJANGO_AWS_STORAGE_BUCKET_NAME=BUCKET
    git push heroku master
    heroku run python {{cookiecutter.repo_name}}/manage.py syncdb --noinput --settings=config.settings
    heroku run python {{cookiecutter.repo_name}}/manage.py migrate --settings=config.settings
    heroku run python {{cookiecutter.repo_name}}/manage.py collectstatic --settings=config.settings