我真的很想和Django一起使用Javascript模板系统。 Mustache.js(以及它的衍生物)的语法和风格真的很适合我。问题是Mustache使用的分隔符标签与Django的模板系统的语法不能很好地搭配。
有没有什么好方法可以一起使用它们?
我尝试使用this verbatim snippet正确呈现JS模板。该解决方案的问题是我有时需要JS内部的Django变量或URL。
我还尝试使用
更改Mustache的分隔符{{=[[ ]]=}}
但是,这不允许使用部分标记,例如{{#}}。作者表示,他打算在未来的版本中完全删除该功能。
是否有任何Javascript模板库紧跟Mustache.js,但使用不同的分隔符?或者是否有其他解决方案来更改分隔符Mustache.js使用?
答案 0 :(得分:4)
我使用了jquery与django的模板。最终我决定最好的方法是:
我在最后一个上软化了,可能会将数据作为json块嵌入到django模板中,也许在模板底部还有一个简短的js,它只是设置变量/参数来指示js如何渲染页面 - 来自服务器端的一些线索告诉它该做什么。
因此:
答案 1 :(得分:3)
change Mustache's delimiters看起来很容易,但我认为应该支持可配置的分隔符。
如果您无法接受,那么还有许多其他模板库,例如jquery-tmpl和underscore.template。
答案 2 :(得分:0)
EJS是一个非常好的模板系统。它使用<% %>
标记。