使用JavaScript Staticfile将Json从Django传递给模板

时间:2015-09-28 06:30:15

标签: javascript json django

我正在尝试使用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}}语句,它可以工作。请帮忙。

1 个答案:

答案 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

其他来源: Django Template Variables and Javascript