Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript静态文件将Json从Django传递到模板_Javascript_Json_Django - Fatal编程技术网

使用JavaScript静态文件将Json从Django传递到模板

使用JavaScript静态文件将Json从Django传递到模板,javascript,json,django,Javascript,Json,Django,我试图用javascript静态文件将json从django传递到模板html文件 view.py import json def view(request,...) ... return render(request,'index.htm',"g1":json.dumps({"id":1,"name":2}) index.html <head> <script language=javascript" src="/static/myapp/myscript.js"&

我试图用javascript静态文件将json从django传递到模板html文件

view.py

import json
def view(request,...)
...
    return render(request,'index.htm',"g1":json.dumps({"id":1,"name":2})
index.html

<head>
<script language=javascript" src="/static/myapp/myscript.js"></script>
</head>
<body onload="init();">
<div>I am here</div>
</body>

myscript.js不工作。如果.js文件中没有{g1}}语句,它就可以工作。请帮助。

我不相信变量会被传递到myscript.js中。您必须在模板中添加js内联以获得它:

<script>
var json = {{g1}};
function init(){
}
</script>

var json={{g1}};
函数init(){
}
另外,根据其他stackoverflow答案,如果您不使用以下选项,可能会受到注入攻击:

escapejs过滤器:

安全过滤器:

其他来源:

您希望它如何工作?myscript.js是一个静态文件,它不解析模板变量。请注意,
init()
可能仍在单独的js文件中,请参考全局
json
变量。谢谢Hieu和Daniel。
<script>
var json = {{g1}};
function init(){
}
</script>