I've been learning Python and now I'd like to learn a Python-based web framework. I'm considering Google App Engine and Django. Which one should I choose? What are their unique features and learning curves?
4 Answers
Google App Engine is an infrastructure on which you can "build and host apps." Though not a web app framework itself, it does provide a simple web app framework called webapp (partially built on top of another framework WebOb).
There are numerous, detailed posts on choosing a Python-based web app framework:
- A similar SO question: Django vs other python web frameworks
- List of Python-based frameworks with short descriptions
- You can learn a lot about what makes up a web framework and what options are available in Nick Johnson's excellent series which starts with Writing your own web framework for App Engine

- 1
- 1

- 15,896
- 7
- 53
- 61
I believe that Django is better because it gives more flexibility with features and also with hosts. Djangobook.com has a very good tutorial.

- 57
- 6
If you plan to use Django on app engine, then chances are you will want to use Djangos ORM. Which means.. you will probably be looking at Django non-rel. However there are a few things to consider:
Django non-rel runs a few versions behind the latest django release, so some modern features (such as advanced timezone support) are not supported, as of the moment, you will just have to wait.
Django non-rel does not support some features such as Django's transactions API and none of the native app engine transaction modules work ether.
so all in all, fine for a small simple projects, but when things get more complicated, django non-rel falls short.

- 495
- 1
- 7
- 12