如何在不同的Js文件中添加Django模板标签

问题描述 投票:0回答:2

嗨,我想在我的 js 代码中添加标签

{{request.user.first_name}}
。我知道如果 js 代码位于 HTML 文档中,您可以轻松地在 Django 版本 3.2 中添加任何 Django 模板标签。

但是现在,我的 HTML 是这样的......

<script src="{% static 'dashboard/driver.js' %}"></script>

其中包含超过 2000 行,我不想将其包含在我的 HTML 文件中。

所以我的问题是我可以在单独的 JS 文件中添加标签

{{request.user.first_name}}
和其他几个标签吗,在我的例子中是
driver.js

任何帮助将不胜感激。

谢谢!

javascript django django-templates
2个回答
1
投票

您不能直接在

js
文件中添加任何 Django 模板代码。

有3种方法可以在js文件中添加

first_name

  1. 编写 django
    ajax
    视图,并在页面加载后立即从 js 文件调用
    first_name
    的 api。或
  2. 在隐藏的 html 文件中呈现您的名字
    input
    字段,然后从您的
    js
    文件或
  3. 中获取其名称或 ID 的字段值
  4. 在你的html js
    <sccript>
    标签上放置一个utill函数,它将调用你
    driver.js
    文件相关方法。

0
投票

不,你不能,但解决方案非常简单。在链接脚本上方的 html 中,添加一个脚本元素,使用 django 模板标签获取所需的变量,例如

<script>
    var var1 = {{ var1 }};
    var var2 = {{ var2 }};
    var var3 = '{{ var3 }}';
</script>

然后你可以在静态脚本中使用 var1、var2、var3 等。

© www.soinside.com 2019 - 2024. All rights reserved.