All Buttons Pressed Blog Sample Project

This is the the website you’re currently looking at. All Buttons Pressed provides a simple “CMS” with support for multiple independent blogs. It’s compatible with Django-nonrel and the normal SQL-based Django, so you can use it with App Engine, MongoDB, MySQL, PostgreSQL, sqlite, and all other backends that work with either Django or Django-nonrel. Actually the project was started to demonstrate what’s possible with Django-nonrel and to give you an impression of how to write code for non-relational databases.


Note: Some parts of the code are explained in the 4 things to know for NoSQL Django coders blog post.

Before you start you’ll need to install Sass and Compass. Then you can just download the zip file. Make sure that your App Engine SDK is at least version 1.5.0 prerelease.

Alternatively, if you want to clone the latest code you’ll have to also install django-mediagenerator. By default, the settings file is configured to use App Engine, so you’ll also need djangoappengine and all of its dependencies (Django-nonrel, djangotoolbox, django-dbindexer, and django-autoload). In contrast, on SQL databases you won’t need any of those dependencies except for django-mediagenerator.

First, create an admin user with createsupeuser. Then, run runserver and go to http://localhost:8000/admin/ and create a few pages and posts. Otherwise you’ll only see a 404 error page.

All Buttons Pressed has a concept called “Block”. Blocks can be created and edited via the admin UI. The sidebar’s content is defined via a block called “sidebar”.

The menu is defined via a “menu” block where each menu item is in the format <label> <url>:

Some label     /url
Other label    http://www.other.url/