如何将javascript变量传递给django模板标签
Posted
技术标签:
【中文标题】如何将javascript变量传递给django模板标签【英文标题】:How to pass javascript variable to a django template tag 【发布时间】:2020-04-24 07:47:49 【问题描述】:我创建了一个模板标签,它将接受 2 个参数,返回一个文本。目前,我无法将 javascript 变量值传递给 django 模板标签。你能帮帮我吗?
带有模板标签的javascript代码
function formatState (state)
if (!state.id)
return state.text;
console.log(state.text);
var x = "% get_data state.text 'account' %";
var $state = $('<span class="badge">' + x + '</span>');
return $state;
模板标签
@register.simple_tag
def get_data(value, module):
*****
x = "hello"
return x
【问题讨论】:
【参考方案1】:您的 Django 模板在服务器上呈现,然后发送到运行 JS 的客户端。您无法从模板中的服务器访问 JS 变量,因为它们不存在。
如果您需要使用 Django 从前端访问数据,您可以创建一个视图函数,该函数将接受 POST 请求并使用 JS 将数据发送到您的服务器,然后返回一些您可以添加到页面的模板JS.
【讨论】:
以上是关于如何将javascript变量传递给django模板标签的主要内容,如果未能解决你的问题,请参考以下文章
django:如何将模板变量传递给 javascript onclick 例程?
如何将javascript变量传递给django自定义过滤器