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

时间:2020-01-06 19:11:46

标签: javascript python django python-3.x django-templates

我已经创建了一个模板标签,它将接受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 个答案:

答案 0 :(得分:1)

您的Django模板在服务器上呈现,然后发送到运行JS的客户端。您无法从模板中的服务器访问JS变量,因为它们在那里不存在。

如果您需要使用Django从前端访问数据,则可以创建一个视图函数,该函数将执行POST请求,并使用JS将数据发送到服务器,然后返回一些模板,您可以使用这些模板添加到页面中JS。