【问题标题】:Django, appengine and Django-nonrelDjango、应用引擎和 Django-non rel
【发布时间】:2013-09-29 11:11:05
【问题描述】:
【问题讨论】:
标签:
django
google-app-engine
djangoappengine
【解决方案1】:
我使用“普通” Django 开发了一个相当复杂的网络应用程序,而不是非 rel 风格。对于数据库存储,我使用 Google Cloud SQL,它基本上是云中的 MySQL。它工作得很好。有几点需要考虑:
- Google Cloud SQL 没有“免费计划”,因此您的项目会产生费用。
- 用于 GAE 的普通 Django 目前处于 1.4 版,并且在开发方面落后了一点,如果内存在 1.6 为我服务的话。 GAE SDK 附带了 Django 1.5 版,但我没有完成这项工作(我没有特别努力,只是在我的 app.yaml 文件中更改了 Django 版本,然后它就崩溃了)。
至于第一个项目,现在亚马逊也提供了类似的产品。我还没有调查过(我相信他们确实提供了一个免费的计划,可能会很有趣),也没有比较价格,但如果 Google Cloud SQL 太贵,这可能是一个替代方案。我每年购买 Google Cloud SQL 的费用在 150 到 200 英镑之间,还算不错。
我选择普通 Django 而不是 non-rel 的原因基本上是双重的:
- 非 rel 项目似乎已被放弃。
- 根据我阅读的一些文档,非 rel 产品的功能“残缺”,您将无法使用 Django 的所有预烘焙产品。
我已经在这个项目上工作了 7 个月,我发现 GAE 上的 Django 和 Google Cloud SQL 环境非常稳定和高效。 FWIW,我使用 PyCharm,它具有一键式部署功能,这使得部署我的产品变得轻而易举。我从事各种技术的 IT 项目已经有一段时间了,PyCharm、Python、Django、GAE 和 Google Cloud SQL 的组合将在我的生产环境列表中名列前茅。
当然还有其他 Python 框架需要考虑,比如 Flask,它允许更多同类最佳的方法,但我没有使用它们的经验。
希望这会有所帮助。
【解决方案2】:
我正在使用 django-nonrel 1.4,虽然我还没有更新到最新版本。它对我来说运行顺利。
您确实需要认识到,如果您使用 django-nonrel,则必须遵守 GAE HRD 的规则,尤其是最终一致的结果,以及有限的查询能力。
【解决方案3】:
Django-nonrel 绝对不会被抛弃!我在Docket Alarm 使用 1.6 版本并取得了很大的成功,它仍在积极维护中。
以下是项目的最新链接: