Django有一个非常方便的模式,称为“应用程序”。从本质上讲,这是一个独立的插件,需要最少量的布线,配置和粘合代码才能集成到现有项目中。例如标记,注释,联系表单等。它们允许您通过收集有用的应用程序集合来构建大型项目,而不是从头开始编写所有内容。您做最终编写的应用程序可以移植,因此您可以在其他项目中回收它们。
Google App Engine中是否存在此模式?有没有办法创建可以轻松放入App Engine项目的自包含应用程序?就此而言,YAML网址方法看起来可能需要对Django的完成方式进行重新设想。
注意:我知道我可以在App Engine上运行Django,但这不是我对此次感兴趣的事情。
答案 0 :(得分:3)
apps 的Django实现与作为框架的Django操作密切相关 - 我的意思是使用Django url映射功能(用于映射URL以查看函数)和Django应用程序组件发现(用于发现)来插入应用程序模型和管理员配置)。 WebApp中没有这样的机制(我猜你想到WebApp framework 当你引用AppEngine,而不是 platform )本身 - 你必须自己编写它们然后在将应用程序插入其余站点代码后,说服人们以一种可以使用 url plugger 和组件发现的方式编写此类应用程序。
有可用于AppEngine的通用可插拔模块,如分片计数器或GAE实用程序库,但它们不提供像Django应用程序(例如django-registration)这样的功能。我认为这来自于更大的设计自由度(基本上,在GAE上你可以在Django布局之后或者你可能想到的任何其他之后对你的应用进行建模)和缺乏广泛使用的约定。
答案 1 :(得分:2)
我想补充一点,你可以在App Engine中运行Django应用程序。在过去的几个月里,我一直在成功地做到这一点。基本上,您可以使用App Engine Helper项目或App Engine Patcher。 App Engine Helper部分由谷歌员工维护,所以这就是我使用的那个,认为App Engine Patcher的维护者总是狂热地推广和更新他的项目(可能有点太多了)。