【问题标题】:Practical server side includes with Python on Google App Engine实用的服务器端包括 Google App Engine 上的 Python
【发布时间】:2012-03-19 15:43:07
【问题描述】:

有没有一种体面的方式来“模拟”服务器端,包括在 Google App Engine 上使用 Python?

我真的很想将我的静态 html 文件拆分成更小的部分,原因有两个:

  1. 从开发的角度来看,它们将更易于管理
  2. 跨多个页面冗余的 HTML 可以更轻松地重复使用,并且对 HTML 的更新将显示在所有页面上,而不必复制和粘贴更新

【问题讨论】:

  • 无论您选择使用什么模板库来生成 HTML,都应该让这一切变得微不足道。

标签: python google-app-engine server-side-includes static-files


【解决方案1】:

只需使用模板库(Jinja2 已预先安装在 GAE 上)。 "Getting started" doc provides examples

您想使用 template inheritance 代替 SSI。

【讨论】:

  • 请注意,使用模板来提供本质上是静态资源的资源会使提供这些资源的成本更高,时间也更长。如果您真的只是想要一种更好的方式来管理纯静态 HTML,并且提供这些资源的成本很重要,您可以考虑在您运行的脚本中调用 jinja2 或 Django 模板(或 webapp 模板,与 DjangO 模板相同)在部署您的应用之前。
  • @Guido:静力学速度非常快,这一点毋庸置疑。您也可以将它们推送到 CDN。但是对于较小的项目,您的解决方案似乎过大了。无论如何,使用静态来获得超高性能,我宁愿选择拆分它们并使用客户端合并。这种方式广泛重用的静态部分将保留在浏览器的缓存中(可能还有代理)。顺便提一句。感谢 Python ;-)
【解决方案2】:

或者使用像django这样的框架,这将有助于模板的继承。

【讨论】:

  • Django 是完整的 MVC 堆栈,仅将其用于模板是浪费资源和精力。
猜你喜欢
  • 2014-05-19
  • 1970-01-01
  • 2015-03-18
  • 1970-01-01
  • 1970-01-01
  • 2011-02-19
  • 2020-09-14
  • 1970-01-01
相关资源
最近更新 更多