我想知道是否值得转换为更通用的模板引擎,如胡子或把手,而不是Django模板。我自己看到的选项是:
虽然像系统一样转换到Mustache / Handlebars会让我在客户端和服务器端使用相同模板的灵活性,但我确实失去了Django模板系统提供的某些优势(例如模板继承)。
我知道对于客户端模板以及服务器端模板,存在强烈的争论。有人认为在繁忙的服务器上渲染HTML会使速度变慢,而其他人认为在浏览器上从JSON渲染HTML会使客户端变慢。
我也知道为非启用javascript的设备使用服务器端html呈现的论据,但是现在大多数设备都支持javascript。
从Django模板系统转换到Mustache / Handlebars等是否有真实而明确的原因?
感谢。
答案 0 :(得分:3)
你的问题确实没有具体的答案。在我看来,Mustache风格的客户端模板的优势远远超过了支持服务器端模板的优势。小胡子风格的客户端模板是可移植的,可扩展的,易于被其他开发人员理解,并适用于所有浏览器(甚至是IE6)。如果您计划将Web应用程序变大,那么当您的页面生成卸载到用户浏览器而不是在服务器端处理时,您将感谢自己。
Django提供的模板继承被过度使用 - 你可以用Mustache模板和一些JavaScript来完成同样的事情。不要尝试构建大型的全包模板。将模板构建为可重复使用的小构建块,并使用JavaScript将它们组合在一起,以形成构成Web应用程序的组件。
当然,当您在客户端上呈现所有内容时,SEO会受到影响,但这对您的应用程序来说可能是也可能不是问题。