【问题标题】:How do I pass string parameters from django to javascript function?如何将字符串参数从 django 传递给 javascript 函数?
【发布时间】:2020-01-01 20:10:13
【问题描述】:

我在使用从 python 获取的字符串参数调用函数时遇到问题。

python_var -> html调用js函数,参数取自python上下文-> js文件

浏览器控制台显示:未捕获的 ReferenceError
我正在使用 Django 模板语言来获取在 python 中定义为字符串的变量。

foo.html

<script>
 libcharts_predict_k( {{title|safe}}, {{data|safe}})
</script>

我确定问题仅出在 JS 函数参数中的字符串,因为对于数组和数字我没有任何问题。
浏览器尝试引用某些内容,但我将其作为值给出

view.py

def second_view(request):
    title = "A long title"
    data= df['value'].values.tolist()
    context = {
               'data': data,
               'title': title
               }
return (request, 'app/foo.html', context=context)

*(进口没问题)

【问题讨论】:

    标签: javascript html django-templates


    【解决方案1】:

    简短回答:在模板变量周围加上引号:

    libcharts_predict_k("{{title|safe}}", "{{data|safe}}")
    

    而且由于data 是一个列表,因此您想在之前对其进行 json 化(在您看来):

    import json
    
    # ....
    
    data = json.dumps(df['value'].values.tolist())
    

    【讨论】:

    • 好的,我尝试了python libcharts_predict_kilos_ventas_familia( '{{titulo|safe}}',{{data|safe}}) ,它有效,感谢您的想法!
    • cf 编辑(在您发布查看代码后添加)
    猜你喜欢
    • 2021-05-31
    • 1970-01-01
    • 2011-05-12
    • 2018-07-21
    • 1970-01-01
    • 2015-05-21
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多