Pages

Wednesday, 20 February 2013

在GAE中使用Django 1.0


Google App Engine可以运行任何WSGI兼容的程序。由于Django支持该标准,所以在Google App Engine上建立(或者移植既成的)Django程序是完全可能的。

 目前的Django版本是1.0.2,我们可以在http://www.djangoproject.com/这里下载到。在GAE环境中,我们没有SQL数据库,因此我们没法使用Django的Model类,同时也限制了Django部分模块的导入是使用。
 因此我们需要有一个Helper程序来兼容两种环境,这个Helper的 project地址是:http://code.google.com/p/google-app-engine-django,但是很可惜,目前这个 helper没有提供支持django1.0版本的直接下载,要获取支持1.0版本的helper我们要通过SVN从代码仓库中获取:svn checkout http://google-app-engine-django.googlecode.com/svn/trunk/ google-app-engine-django-read-only 

 之后可以将获取到的google-app-engine-django-read-only文件夹里面的文件都复制到我们要创建的工程文 件夹里,如果这个文件夹是使用django-admin.py生成的话,就直接覆盖掉之前由django框架生成的文件。也可以直接拿google- app-engine-django-read-only文件夹作为工程的根文件夹,将其改个名就行了。里面已经包含了一个完整的Django工程基本文 件。
 接着把整个django库复制到工程文件夹中,可以删除掉该django文件夹中conf/locale/里的大部分语言支持(保留确实要用的几个),以及/contrib/admin文件夹(GAE不支持django自带的后台管理)。

 最后就是修改app.yaml里头的application id,改成你的应用的id。执行./manage.py runserver 8080,如无意外,你就成功地运行开发服务器了。
参考文章:http://code.google.com/appengine/articles/appengine_helper_for_django.html