Django + Google App Engine:django或use_library的app引擎助手?

Pau*_*gar 7 django google-app-engine

似乎有两种方法可以使用django 1.1和GAE

我们目前使用第一个.我们应该转换吗?这两者有什么区别?

dar*_*dar 9

use_library 在生产环境中加载未修补的django版本,因此很多东西在app-engine上无法正常运行.

帮助程序将一系列补丁应用于django库以启用诸如Sessions,test,cache framework等内容.如果您没有将自己的django副本添加到帮助应用程序中并且您使用的是最新版本(r100或更高版本) ,帮助程序首先尝试加载django 1.1,如果它不成功,则加载1.0.你可以看到这个appengine_django/__init__.py::LoadDjango.

在生产GAE上,django 1.1始终存在,因此首先加载.

但是,在您的开发环境中,开发服务器SDK不会分发Django.因此,它使用它可以找到的任何版本的Django,首先尝试1.1然后尝试1.0,如果它找不到,则抛出UnacceptableVersionError.

您可能希望使用帮助程序而不是use_library因为您需要自己修补原始django库,从而复制帮助程序中的工作.无论您是分发自己的django版本,还是作为文件夹或zip文件由您决定.不发布您自己的django副本的一个好处是,谷歌应用安全补丁,您自动获得它们而无需重新部署您的应用程序.