cookiecutter-django/{{cookiecutter.repo_name}}
Daniel Greenfeld 8f84ab8c16 Merge pull request #64 from theskumar/collectfast
feat(aws/s3): use Collectfast by @antonagestam for faster collectstatic.
2014-01-22 10:40:33 -08:00
..
{{cookiecutter.project_name}} Merge pull request #64 from theskumar/collectfast 2014-01-22 10:40:33 -08:00
docs chore(docs): update default year to 2014. 2014-01-10 14:02:24 +05:30
requirements feat(aws/s3): use Collectfast by @antonagestam for faster collectstatic. 2014-01-22 22:53:33 +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 Post @jezdez cleanup 2013-09-17 14:19:31 +02:00
setup.py BF: query __version__ from the project not from repo 2013-12-27 23:05:09 -05: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