将 Javascript 变量传递给 Django 标签

Posted

技术标签:

【中文标题】将 Javascript 变量传递给 Django 标签【英文标题】:Pass Javascript variable into Django tag 【发布时间】:2021-10-12 09:13:21 【问题描述】:

正如标题所说,我正在尝试用 javascript 变量替换 Django 标记中的值。我不确定它是否可能,但这就是我所拥有的(标签在``之间):

const myTemplate = (list) => html`
<form method="post" class="notes-form">
   %  csrf_token %
    user.profile|meet_notes:15 
    <div>
      <button type="submit">Send</button>
    </div>
</form>
`

例如,我想将 15 替换为 $list.met_profile.id 之类的变量(此标记将呈现具有此变量值的输入,此处为 15)。

谢谢!

【问题讨论】:

你不能直接这样做,你需要为它写一些javascript代码。 这是我的预期,但我一直在尝试一段时间,甚至通过 Javascript 我没有成功 【参考方案1】:

将以下代码放入您的 HTML 文档中

<span id="change_val">abc</span>
<script>
    const ele = document.getElementById("change_val")
    ele.innerText = 15
</script>

【讨论】:

【参考方案2】:

更好的方法是使用序列化程序而不是模板标签。 django 模板标签将在 js 之前运行,所以这并不理想。

【讨论】:

非常感谢,工作就像一个魅力!

以上是关于将 Javascript 变量传递给 Django 标签的主要内容,如果未能解决你的问题,请参考以下文章

如何将javascript变量传递给django模板标签

将 Javascript 变量传递给 Django 标签

Django - 将变量传递给同一脚本标签内的 javascript 文件

Django模板Javascript将python变量传递给javascript

将 python/django 变量作为 JSON 传递给 javascript?

如何将javascript变量传递给django自定义过滤器