前段时间我发现了django并编写了几个应用程序。然后我发现了谷歌应用程序引擎,我很高兴能给它一个旋转,特别是因为它特别提到了python和django。
我使用GAE hello World app确认了使用python 2.7的GAE安装。然后我遇到了django-nonrel测试应用程序的问题。谷歌搜索个别错误随后结束了大约7个不同的东西到python路径,直到达到我无法解决的错误。
从外观来看,似乎我在某种程度上使用了Windows,因此我在VM上安装了一个新的Ubuntu副本并重新开始。已验证的python 2.7,将GAE放在推荐的位置克隆了几个包,并将它们符号链接到提供的测试应用程序文件夹中。当我./manage.py runserver它再次发出相同的错误消息,这使我在Windows中停滞不前。
我的系统级问题是django-nonrel因主要开发人员的辞职而失去了动力。 GAE没有保持不变,两者之间形成了差距。这个观察是否正确?如果社区在哪里?是凯吗? (http://code.google.com/p/kay-framework/)
它是否使用谷歌自己的最小python框架工作?它是Java而不是python吗?
我怀疑有成千上万的人在做GAE项目,但我感觉不是很好的路径。还有很多人仍然对django-nonrel有信心吗?我意识到我可能会遗漏一些非常简单的东西,比如路径var或者其他东西但我不想继续寻找它,如果我还是应该学习别的东西。
答案 0 :(得分:4)
我正在积极地将django-nonrel用于我已经工作了几个月的项目,但还没有推出。在过去的一周里,我得到了一个开发人员的建议,当前正在研究django-nonrel以尝试运行django 1.4的最新分支。请注意,GAE SDK未正式提供django 1.4。但是,在这一点上,感觉就像django-nonrel正在前进,并且它的文档已经被遗忘。你可能需要一些开发剁来使用最新的和最好的。
django-nonrel可能已经失去了一些动力,但我认为它已经死了。但要注意的一件事是,大多数活跃的开发人员都使用mongo-db作为后端。这不是一个问题,虽然我担心mongo-db版本和appengine版本可能碎片化 - 希望这不会发生。我在SO和邮件列表上关注App Engine主题的观点是,声音大多数是在Java上。在python用户中,常见的平台是webapp2 + app引擎原生模型+ Jinja2或类似的模板库。
根据我使用django-nonrel的经验:
优点:
我想要的第三方python库,这为我节省了很多时间。例如,django-social-auth给了我facebook和twitter登录,几乎没有任何工作。
为您提供将AppEngine关闭到另一个python + mongo平台的潜在能力。
缺点:
旧版本缺乏对祖先查询的支持,但现在已经存在于1.4分支上。
你是自己的支持。还有其他一些非常有帮助的人,但我不得不跳进代码库来修复问题并添加功能。我已经做了几次(比如App Engine SDK发布时出现了bug),但这种情况很少见。
django比webapp2需要更长的时间来加载,但如果你摆脱了你没有使用的django.contrib中的所有东西,那就不错了。
你没有得到ndb的好处。你错过了ndb实体缓存。但是我发现我经常使用不是ndb缓存的查询,所以这可能是也可能不是很大的损失。