Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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 在Django模板中访问dict值_Javascript_Python_Json_Django - Fatal编程技术网

Javascript 在Django模板中访问dict值

Javascript 在Django模板中访问dict值,javascript,python,json,django,Javascript,Python,Json,Django,我在访问试图发送到Django中模板的dict对象的值时遇到问题。我可以在我的视图中访问和打印dict的内容,但是当我尝试将数据发送到模板时,会出现各种各样的字符,比如没有正确编码。起初,我认为这可能是序列化的问题,但我发现应该将json_serializer.serialize与queryset一起使用。这是正确的吗?从这里我尝试了以下方法 起初,我尝试只发送数据变量本身,而不发送任何格式 data = {'item_1': 123, 'item_2': 456, 'item_3': ['a'

我在访问试图发送到Django中模板的dict对象的值时遇到问题。我可以在我的视图中访问和打印dict的内容,但是当我尝试将数据发送到模板时,会出现各种各样的字符,比如没有正确编码。起初,我认为这可能是序列化的问题,但我发现应该将json_serializer.serialize与queryset一起使用。这是正确的吗?从这里我尝试了以下方法

起初,我尝试只发送数据变量本身,而不发送任何格式

data = {'item_1': 123, 'item_2': 456, 'item_3': ['a','b','c'] }
return render(request, 'testsite/new_page.html', {'data' : data} )
在模板中,我有以下内容

<script>var data = "{{ data }}"; </script>
<script>console.log(data);</script>

// displays the following
// &lt;testsite.views.data object at 0x1045f1e48&gt;
在模板中,它试图像这样使用javascript迭代数据对象,但它只显示格式不正确的dict的每个字符

for (var key in data) {
    console.log(data[key]);
}
我做错了什么导致模板中的数据格式不正确

考虑使用

return render(request, 'testsite/new_page.html', {'serialized_data' :json.dumps(data) } )

var data=“{{serialized_data | safe}}”;
注意,
安全
过滤器会阻止django将您的
转换为

考虑使用

return render(request, 'testsite/new_page.html', {'serialized_data' :json.dumps(data) } )

var data=“{{serialized_data | safe}}”;

注意,
safe
过滤器阻止django将您的
转换为

您不能只执行
返回渲染(请求,'testsite/new_page.html',{'data':data})
?对不起,我应该更新。当我这样做时,它会导致一个奇怪的结果,看起来像是一个内存位置。我将更新我的postvar数据=“{data}}”;你不能只做
返回render(请求'testsite/new_page.html',{'data':data})
?对不起,我应该更新。当我这样做时,它会导致一个奇怪的结果,看起来像是一个内存位置。我将更新我的postvar数据=“{data}}”;当我这样做时,我得到一个引用错误ReferenceError:data未定义。我一定要解释你的答案,你是如何使用序列化的_数据的,而不是像我这样的数据。仍然会产生参考答案,与e4c5相同answer@user1852176请根据您的代码调整变量名。我这样做了,但在我的评论中忘了提到这一点。我一定是在你看到之前改变了我的评论。另一个答案也会导致引用错误。对于以后阅读本文的人来说,我可以通过切换到单引号,并在我看来使用
json.dumps(data.\uu dict_uuu)
,以及在设置javascript变量
var data={{serialized_data | safe}时使用单引号,而不是双引号,使其正常工作执行此操作时,我得到一个引用错误ReferenceError:未定义数据。我一定要解释你的答案,你是如何使用序列化的_数据的,而不是像我这样的数据。仍然会产生参考答案,与e4c5相同answer@user1852176请根据您的代码调整变量名。我这样做了,但在我的评论中忘了提到这一点。我一定是在你看到之前改变了我的评论。另一个答案也会导致引用错误。对于以后阅读本文的人来说,我可以通过切换到单引号,并在我看来使用
json.dumps(data.\uu dict_uuu)
,以及在设置javascript变量
var data={{serialized_data | safe}时使用单引号,而不是双引号,使其正常工作
return render(request, 'testsite/new_page.html', {'serialized_data' :json.dumps(data) } )
<script>var data = "{{ serialized_data | safe }}"; </script>