Klingsbo was built by going through the Django Tutorial, and then adding tests inspired by Daniel Lindsley's excellent tutorial on Django testing (part one, part two).
Klingsbo uses South for database migrations, PostgreSQL as the production database, and Gunicorn as the production webserver.
To setup Klingsbo on your dev box:
-
create and activate a virtualenv
-
run 'pip install -r requirements.txt' from within the project directory.
-
run 'python manage.py syncdb --noinput'
-
run 'python manage.py migrate'
The 'migrate' command will load the initial_data.json file which creates an admin user and the first poll. The admin username is 'admin' and the password is 'abc123'.
Database setup: Klingsbo is configured to use PostgreSQL locally (ie on your dev box) and also when running the test suite on Strider. There is a sqlite dev configuration commented out in settings.py should you wish to to use sqlite locally instead of PostgreSQL. Heroku will add its own block of code to settings.py for production PostgreSQL.
Heroku setup: Strider will setup a new application on Heroku and do a git push to Heroku after each successful test run (if configured to 'deploy on green'). At this time, Strider does not run any 'one time' commands such as 'syncdb' or 'migrate'. You will need to run both of these commands before your project will run properly on Heroku.
The easiest way to do so is to install the Heroku Toolbelt, point the toolbelt at the right app, and then execute the commands from the command line like so:
-
'heroku run python manage.py syncdb --noinput'
-
'heroku run python manage.py migrate'
For more details on running Django projects on Heroku, see Getting Started with Django on Heroku/Cedar
Strider is a hosted continuous deployment platform for Python and node.js. Learn more at StriderApp.com.