Contributing Documentation FAQ GettingStarted OpenSourceProjects ProjectsUsingAppEnginePatch ReleaseNotes
With app-engine-patch a major part of Django works on App Engine without any modifications. The most important change is that you have to use Google's Model class because the development model is too different from Django (at least with Django's current API).
We also provide lots of useful extra features (see below).
Did you know? Giftag is powered by app-engine-patch! See other projects using app-engine-patch.
Full-text search
Add full-text search to your site with just a few lines of code: gae-search
Latest release: 1.1RC on Aug 02, 2009
New features: Django 1.1 support. See release notes
Download now! --- See it in action --- Get started --- Release news feed
Reminder: Read the release notes to make sure you don't miss anything before you upgrade.
Please support us by placing this logo/link on your site:
Quickstart
Extract the sample project. Run the dev_appserver with manage.py runserver. Upload your website with manage.py update (don't forget to set your appid in app.yaml). Read more...
Feature highlights
app-engine-patch
- Django's admin interface
- Django's authentication framework and optional integration with Google Accounts
- Django's sites, flatpages, redirects, and some parts of contenttypes
- Django's session and cache backends (db sessions optimized with memcache)
- Support for Django's mail functions
- More complete ModelForm (than djangoforms) via django.forms package
- Support for generic views (list_detail, create_update, and simple)
- Model serialization/deserialization
- and much more; get started
ragendja (snippet library)
- Easy to use zip packages
- Integrated profiler
- Media generator
- Improved auth framework: You can provide your own User class (simplifies your code compared to using get_profile())
- LoginRequiredMiddleware that saves you from adding @login_required to most of your views
- Datastore utils like an @transaction decorator and get_object_or_404()
- Shortcuts like JSONResponse and a render_to_response() based on RequestContext
- Global templatetags (GLOBALTAGS in settings.py)
- An improved template loader that gets rid of file name prefixes (ragendja.template.app_prefixed_loader)
- ModelTestCase that allows for verifying the DB contents
- Special features for writing self-contained, reusable apps
- and much more
Comparison to google-app-engine-django (appengine/django-helper)
Conceptual difference: We don't introduce yet another Model class. Just use Google's Model. In a future release we might support Django's own Model.
Missing features: None! Doesn't that make the decision easy? :)
Our Django port is more complete (e.g., we have the admin interface, sites, flatpages, etc.) and we have lots of extra features (media generator, everything in ragendja, better ModelForms, ...) and we are constantly improving app-engine-patch to make Django development easier. We also work on features and conventions that allow for fully reusable plug-n-play-style apps, so please just download our sample project and get started.
Contribute
Of course, we're always happy about contributions, no matter how small. Please release at least a few useful parts of your code as open-source or help us port more parts of Django or other Django apps, so we can make Django development easier on App Engine.