在 JavaScript 文件中使用 Django 模板标签

Posted

技术标签:

【中文标题】在 JavaScript 文件中使用 Django 模板标签【英文标题】:Use Django Template Tags in JavaScript File 【发布时间】:2015-12-23 22:32:48 【问题描述】:

我想知道是否可以在我的 javascript 文件中使用 template tag static 来调用我想要传递给 D3 的 CSV 文件,如下所示:

% static "js/data.csv" %

我真的希望我的 JavaScript 文件与我的 html 分开,因为它可能会变得冗长且混乱。谢谢你的帮助。

【问题讨论】:

否,因为它们是静态资源文件。可以在主页中使用一个简单的脚本标签变量 这是我希望避免的,因为 D3 图表会很快变得非常混乱。 以为你只是在传递一个 url 值(我不做 django)...发出 ajax 请求并在回调中初始化图形 【参考方案1】:

使用django-compressor

django-compressor 让您可以做到这一点并通过以下方式优化您的网站 将所有需要的 JS 或 CSS 压缩到一个文件中并进行优化 文件大小。

更新:默认情况下,压缩器会将相对 url 转换为 使用 STATIC_URL 的绝对 URL。如果你下载开发 版本,它带有一个 django 模板引擎解析器,它可以让你 直接在您的 CSS 文件中使用所有 django 模板代码,例如 % static % 标签。 作者 Yuji 'Tomita' Tomita

阅读此SO Post。

【讨论】:

以上是关于在 JavaScript 文件中使用 Django 模板标签的主要内容,如果未能解决你的问题,请参考以下文章

在 Django 应用程序中使用 JavaScript 加载文件

在 javascript 文件中使用 Django url

上传文件后,如何在 Django 中使用 AJAX 更新表(与 JavaScript 链接)?

使用 django 将 STATIC_URL 传递给文件 javascript

Django 将数据发送到 Javascript 文件

django 无法读取 csv 文件以在 javascript 和 html 模板中绘制 highchart