Django on AppEngine
Django can run natively on Google App Engine in two ways:
- using Django-nonrel -- a Django fork that supports non relational databases
- using Djangae -- a Django app that allows you to run Django applications on Google App Engine with vanila Django
Djangae (djan-gee) is a Django app that allows you to run Django applications on Google App Engine, including (if you want to) using Django's models with the App Engine Datastore as the underlying database. Djangae supports Django 1.6 and 1.7, with 1.8 version being under development.
- A WSGI middleware that provides a clean way via which your Django app is plugged into App Engine.
- A hook to allow App Engine's deferred tasks and mapreduce handlers to run through the same environment.
- The ability to use the Datastore as the database for Django's models. You can also use App Engine's NDB, or you can use Google Cloud SQL (via the standard django MySQL backend) instead of or along side the Datastore. Or use all 3!
- djangae.contrib.gauth which provides user models (both concrete and extendable abstract versions), an auth backend, and a middleware; which allow you to authenticate users using the App Engine's built-in Google Accounts authentication, and also allow you to use Django's permissions system on the Datastore (i.e. without being caught out by the Many-To-Many relationships).
- A runserver command which fires up the App Engine SDK to serve your app (while still using Django's code reloading).
- The ability to run management commands locally or on the remote App Engine Datastore.
- A shell command that correctly sets up the environment/database.
Parent wiki page: NoSqlSupport