【问题标题】:How to pass Django template variable to JavaScript function如何将 Django 模板变量传递给 JavaScript 函数
【发布时间】:2020-10-20 18:57:59
【问题描述】:

我使用views.py在js文件中传递了个人信息。所以,在js文件中,我添加了django模板for循环来迭代个人信息,传递javascript函数。但这对我不起作用。我是这个概念的新手。

查看文件

def sample(request):
    p=[]
    p.append({name:santhosh, age:20},name:kumar, age:21})
    return render(request, 'index.js',{'p':p})

index.js

{% for i in p %}
    var data = load_html(i)
{% endfor %}

function load_html(i){
    return '<h1>{{ i.name }}</h1>'
}

这是我的示例代码。我试图传递 (i value in load_html()) 函数。但它不能传递该函数中的值。如何传递值和获取名称。

【问题讨论】:

    标签: javascript django django-forms django-views django-templates


    【解决方案1】:

    您的 Django 模板是在服务器站点中构建的,而 javascript 是一种客户端语言。所以简单来说,您不能将 Django 模板变量发送到 javascript 函数。

    但是有一个解决方法。您可以将 Django 变量值添加为属性。 比如说

    <span id='elId' userName="{{p.name}}" userAge="{{p.age}}"></span>
    

    在你的脚本部分,你可以使用 jQuery 或 js 获取这些属性值并根据需要使用。

    var $x = $("#elId");
    alert($x.attr("userName"));
    

    它不漂亮,但它有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-03
      • 2020-10-23
      • 2020-04-24
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 2015-04-15
      相关资源
      最近更新 更多