客户端vs服务器端vs django后端混合模板



我想知道是否值得转换为更通用的模板引擎,如mustache或handlebars而不是Django模板。我自己看到的选项是:

    使用Django模板(只在服务器端)
  1. 完全转换为八字胡/车把或其他
  2. 使用混合方法:Mustache/Handlebars以及一些Django模板的使用(最丑的选项?)

虽然转换到像Mustache/Handlebars这样的系统给我带来了在客户端和服务器端使用相同模板的灵活性,但我确实失去了Django模板系统提供的某些优势(比如模板继承)。

我知道支持和反对客户端模板和服务器端模板都有激烈的争论。有些人认为在繁忙的服务器上呈现HTML会使它变慢,而另一些人认为在浏览器上从JSON呈现HTML会使客户端变慢。

我也知道对于非javascript设备使用服务器端html渲染的争论,但是现在大多数设备都支持javascript。

从Django模板系统转换为Mustache/Handlebars等是否有真实和明确的原因?

谢谢。

你的问题没有一个具体的答案。在我看来,mustache风格的客户端模板的优点远远超过服务器端模板的优点。小胡子风格的客户端模板是可移植的、可扩展的、容易被其他开发人员理解的,并且可以在所有浏览器(甚至是IE6)上工作。如果你计划让你的web应用变得更大,当你的页面生成被卸载到用户浏览器而不是在服务器端处理时,你会感谢你自己。

Django提供的模板继承被高估了——你可以用Mustache模板和一点JavaScript来完成同样的事情。不要试图构建包含所有内容的大型模板。将模板构建为可重用的小构建块,并使用JavaScript将它们拼凑在一起,形成组成web应用程序的组件。

当然,当您在客户端上呈现所有内容时,SEO会受到影响,但这可能是也可能不是您的应用程序的问题。

最新更新