Django + GAE(谷歌应用引擎):初学者最便捷的路径?
首先,给大家一些背景信息:
- 目标:开发一个中等复杂度的网页应用,我需要维护它,并可能在未来几年内进行扩展。
- 经验:对Python有不错的了解,曾经用PHP接触过一些MVC框架。
- 期望:使用Django和Google App Engine。
我详细阅读了关于GAE和Django之间兼容性问题的资料,也了解了GAE补丁、norel项目以及其他类似的代码。我也明白SDK提供了一些Django的功能,可以直接使用。
不过,由于我对Django和GAE都没有任何经验,我无法判断使用一个经过补丁的Django版本会丢失多少重要功能,或者SDK中提供的框架与Django的兼容程度如何。所以我对在这种情况下该如何进行感到很困惑:
- 我应该直接使用一个经过补丁的Django版本吗?因为与原版Django的差别很小,我几乎察觉不到。
- 我应该先用“常规Django”完全写好我的应用,然后再尝试移植到GAE吗?这样我可以先了解Django的内部结构和理念。
- 我应该使用SDK提供的框架来写我的应用,然后再移植到Django吗?
- 我应该……?
谢谢你们的时间和建议。
1 个回答
6
我不太确定Django是否适合你。Django是一个很棒的框架,适合独立的应用程序,因为它提供了完整的解决方案:比如ORM(对象关系映射)、认证系统和管理界面等等。不过,在App Engine上你无法使用这些功能。此外,很多代码示例都是针对内置的Webapp框架的,你可以很方便地在app.yaml文件中设置缓存过期时间和认证设置。
我觉得你有两条路可以走:
- 学习在Webapp上使用App Engine。关于如何使用数据存储和App Engine的服务,有很多东西可以学,你会忙得不可开交。
- 在App Engine之外学习Django。你会学到很多关于Django的ORM、管理功能、URL路由、表单和模板的知识。
如果你试图同时学习这两者,你会花更多的时间去理解Django和GAE(Google App Engine)之间的兼容性,这些时间本可以用来学习Django或GAE中的任意一个。