gpt4 book ai didi

使用 Django 进行 Javascript 模板化

转载 作者:搜寻专家 更新时间:2023-11-01 05:26:02 24 4
gpt4 key购买 nike

我真的很想将 Javascript 模板系统与 Django 一起使用。 Mustache.js(及其衍生物)的语法和风格真的很适合我。问题是 Mustache 使用的定界符标签不能很好地与 Django 模板系统的语法兼容。

有什么好的方法可以一起使用吗?

我试过使用 this verbatim snippet正确呈现 JS 模板。该解决方案的问题是我有时仍然需要 JS 中的 Django 变量或 URL。

我还尝试使用

更改 Mustache 的分隔符
{{=[[ ]]=}}

但是,这不允许使用节标签,例如 {{#}}。作者表示他打算在未来的版本中完全删除该功能。

是否有任何 Javascript 模板库与 Mustache.js 非常相似,但使用不同的分隔符?或者是否有另一种解决方案来更改 Mustache.js 使用的分隔符?

最佳答案

我在 django 中使用了 jquery 的模板。最终我决定最好的方法是:

  • 将所有 javascript 放入静态 javascript 文件并在没有任何服务器端处理的情况下提供它们
  • 在 django 模板中提供所有 html 钩子(Hook)(id 或类)但没有 js。
  • 在 js 中使用 'document.ready' 加上 jquery 选择器将标签插入页面并附加事件
  • 如果 js 需要数据,则进行 ajax 调用。

我对最后一个软化了,可能会将数据作为 json block 嵌入到 django 模板中,也许在模板底部还有一个简短的 js,它只是设置变量/参数来指示 js 如何呈现页面 - 来自服务器端的小线索告诉它要做什么。

因此:

  1. 转义字符之间的争用不再是问题
  2. 您不必一直问自己“这段代码是在服务器上运行还是在客户端上运行”,因为您不想同时将两者写入同一个文件
  3. 您的 javascript 代码必须具有更好的结构和可重用性

关于使用 Django 进行 Javascript 模板化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6527478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com