2

我想托管我的个人网站,该网站主要有一个博客、画廊组件以及代码片段和演示。我选择了 GAE,因为它为合理规模的网站(即个人网站)提供免费托管。

我最初认为它可以在不进行任何修改的情况下托管 Django 应用程序,并且由于我在 Django 方面有一些经验,因此我可以很容易地部署一个站点。然而,经过进一步研究,我发现情况并非如此,它需要一些“黑客”才能在 GAE 上托管 Django 站点。

此外,在查看 webapps 的一些实现时,似乎 GAE 可能要简单得多,并且不像文档中描述的那样令人生畏:https ://github.com/ccarpenterg/todolist/wiki

所以我的问题是:

  • 在 GAE Webapps 上使用 Django 有什么好处吗?
  • 收益是否值得间接费用 - 如果甚至有间接费用?
  • 我认为 GAE Webapps 的学习曲线可以忽略不计并且可能比 Django 应用程序更容易实现吗?
4

3 回答 3

7

在 webapp 上使用 Django 有几个很好的理由:

  • 可移植性- 使用通用框架可以更轻松地在 App Engine 和传统托管服务提供商之间移动现有应用程序。
  • 特性- Django 是一个更健壮的框架,具有更多的花里胡哨。

但是,缺点是您是二等公民。大多数 Django 用户使用 SQL 后端,大多数 App Engine 用户使用 webapp。框架和平台不一致的地方对于两者的开发人员来说将变得不那么重要。

除非你有令人信服的理由使用 Django,否则我会坚持使用 webapp。

于 2011-08-01T15:09:13.897 回答
2

我即将完成我的第一个重要的 appengine 项目——在开发过程中,我从 django non-rel 切换到使用 gae 模型,但保留了 django 模板(和模板标签)。

对我来说,破坏交易的是 non-rel 目前不支持交易。虽然您应该将交易的使用保持在最低限度以提高效率,但它们有时很有用(特别是在减少我的用户的帐户余额时!)。

当我切换时,我意识到我真的一点也不了解数据存储。只有在直接使用它之后,我才看到 non-rel 隐藏了什么。这并不意味着一旦 non-rel 支持事务(我相信它们现在正在开发中)我不会切换回来,但我很高兴我确实直接使用了 google 类一段时间。

因此,我建议您至少尝试对“原始”存储进行一些小实验,包括对象树和事务树。然后,一旦您更加确定自己已经很好地理解了数据存储,请考虑在合适的情况下使用 non-rel(因为可移植性是不可否认的优势)。

请注意,我保留了 django 的模板和模板标签,以及 url 调度过程和一般配置。我确实看过 gae 框架,但它似乎没有 django 提供的强大(例如,django 的命名 url 模式非常棒)。

tl;博士:我很高兴我离开了 non-rel,但留在了 django。这对我有用,但我会考虑在未来回到非 rel。

于 2011-08-04T03:59:22.480 回答
0

我认为说 GAE 网络应用程序“学习曲线可以忽略不计”是不正确的。虽然我发现它是 Web 应用程序的优秀平台,但它确实有许多方面与更传统的 CGI + SQL 平台完全不同。

您可能能够像与任何其他提供商一样,将可以在 AppEngine 上运行的应用程序一起破解,但是了解使 AppEngine 与众不同的复杂性、重要细节和差异以及细节并非易事。

于 2011-08-01T13:59:56.127 回答