Django + GAE(谷歌应用引擎):初学者最便捷的路径?

4 投票
1 回答
1536 浏览
提问于 2025-04-15 19:55

首先,给大家一些背景信息:

  • 目标:开发一个中等复杂度的网页应用,我需要维护它,并可能在未来几年内进行扩展。
  • 经验:对Python有不错的了解,曾经用PHP接触过一些MVC框架。
  • 期望:使用DjangoGoogle 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中的任意一个。

撰写回答