我是javascript的新手。我正在研究django项目。我需要将字典模板变量传递给javascript,但我还没有。
views.py包括:
def index(request):
name={'bishal':509,'bishnu':510}
return render_to_response("test.html",Context({'name':simplejson.dumps(name)}))
test.html包括:
{% load staticfiles %}
{% block include_js %}
<script src="{% static "js/chart.js" %}"></script>
<script src="{% static "js/test.js" %}"> </script>
{% endblock include_js %}
{% block main_content %}
<script type="text/javascript" src="static/js/test.js"></script>
<script type="text/javascript">
var name={{name}};
</script>
<button class="btn btn-primary" id="btn1" type="button" onclick="myfunction()">1st visualization</button>
{% endblock %}
test.js包括:
$(function myfunction() {
document.getElementById('btn1').onclick=function(){
name=JSON.parse(name);
alert(name);
};
});
但是错误发生了:
[30/Jul/2013 02:50:51] "GET /visualize/static/js/test.js HTTP/1.1" 404 2732
我在html中尝试过类似的事情:
<html>
<head>
<script type="text/javascript">
function myfunction()
{
dict=JSON.parse(dict);
alert(dict);
}
</script>
</head>
<body>
<script type="text/javascript">
var dict='{"bishnu": 509, "bishal": 510}';
</script>
<form>
<input type="button"
onclick="myfunction()"
value="Call function">
</form>
<p>By pressing the button, a function will be called. The function will alert a message.</p>
</body>
</html>
完美无缺。请帮忙!
答案 0 :(得分:2)
忽略所有JavaScript。您问题的关键是:
[30/Jul/2013 02:50:51] "GET /visualize/static/js/test.js HTTP/1.1" 404 2732
404是'找不到文件'的HTTP代码,这意味着您使用了错误的路径来引用您的JavaScript文件。解决这个问题,你可能会发现你的解决方案可行 - 或者,如果没有,至少会有不同的解决方法。
答案 1 :(得分:0)
@Adrian关于错误消息是正确的,但我怀疑你所考虑的问题是由于在test.html中没有引用{{name}}
引号。尝试:
<script type="text/javascript">
var name='{{name}}';
</script>