我想托管我的个人网站,该网站主要有博客,图库组件以及代码片段和演示。我选择了GAE,因为它为合理规模的网站(即个人网站)提供免费托管服务。
我最初认为它可以在没有任何修改的情况下托管Django应用程序,因为我在Django中有一些经验,所以我很容易部署一个站点。然而,经过进一步的研究,我发现事实并非如此,并且需要一些“黑客”才能在GAE上主持一个Django网站。
此外,在查看一些webapps的实现时,似乎GAE可能更简单,并且不像文档那样令人生畏:https://github.com/ccarpenterg/todolist/wiki
所以我的问题是这些:
答案 0 :(得分:7)
使用Django而不是webapp有几个很好的理由:
除非你有令人信服的理由使用Django,否则我会坚持使用webapp。
答案 1 :(得分:2)
我即将完成我的第一个重要的appengine项目 - 在开发期间我从django non-rel切换到使用gae模型,但保留了django模板(和模板标签)。
对我来说,交易破坏者是非Rel目前不支持交易。虽然您应该将交易的使用保持在最低限度以提高效率,但它们有时很有用(特别是在减少用户的帐户余额时!)。当我切换时,我意识到我真的根本不理解数据存储。只有在直接使用它之后才能看到非rel已隐藏的内容。这并不意味着一旦非rel支持交易(他们现在正在处理,我相信)我不会转回来,但我很高兴我确实直接使用谷歌类一段时间。
所以我建议你至少尝试一下“原始”商店的一些小实验,包括对象树和交易树。然后,一旦你更加确定你已经很好地理解了数据存储,那么考虑使用非rel,如果它适合(因为可移植性是一个不可否认的优势)。
请注意,我保留了django的模板和模板标签,以及url调度过程和常规配置。我确实看过gae框架,但它看起来并不像django给出的那样强大(例如,django的命名url模式非常棒)。
tl;博士:我很高兴我离开了非相关人员,但留在了django。这对我有用,但我会考虑将来回到非rel。
答案 2 :(得分:0)
我认为说GAE webapps的“学习曲线可以忽略不计”是错误的。虽然我发现它是一个优秀的Web应用程序平台,但它确实有许多与传统CGI + SQL平台截然不同的方面。
您可能能够像在任何其他提供商那样将AppEngine上的应用程序组合在一起,但是学习复杂性,重要的细节以及使AppEngine与众不同的细节和细节并非易事。 / p>