我正在尝试使用javascript staticfile将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
var json = {{g1}};
function init(){
}
myscript.js无效。在.js文件中没有{{g1}}语句,它可以工作。请帮忙。
答案 0 :(得分:0)
我不相信该变量会传递给myscript.js。你必须在模板中添加内嵌j来获取它:
<script>
var json = {{g1}};
function init(){
}
</script>
另外根据其他stackoverflow答案,如果你不使用它,这可能容易受到注入攻击:
escapejs过滤器: https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#escapejs
安全过滤器: https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#safe