Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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
将Django Python数据从views.py获取到template.html中的javascript对象_Javascript_Django - Fatal编程技术网

将Django Python数据从views.py获取到template.html中的javascript对象

将Django Python数据从views.py获取到template.html中的javascript对象,javascript,django,Javascript,Django,我使用Django的render\u to\u response将数据写入html页面,但我也希望使用render\u to\u response调用将python字典加载到javascript关联数组中。最好的方法是什么?这到底是什么意思?如果您认为模板中的数据是用JavaScript表示的,那么事实并非如此:您可以直接在模板中使用python对象。如果您的意思是,如何将Python字典或列表中的JSON文本嵌入到模板中:使用Django附带的simplejson对其进行编码 但是,您通常不想

我使用Django的
render\u to\u response
将数据写入html页面,但我也希望使用render\u to\u response调用将python字典加载到javascript关联数组中。最好的方法是什么?

这到底是什么意思?如果您认为模板中的数据是用JavaScript表示的,那么事实并非如此:您可以直接在模板中使用python对象。如果您的意思是,如何将Python字典或列表中的JSON文本嵌入到模板中:使用Django附带的simplejson对其进行编码


但是,您通常不想这样做,原因有两个。如果在模板中包含此动态数据,则无法轻松缓存它。这不应该是另一个生成JS文件的视图吗?或者,在页面处于活动状态时调用AJAX来获取数据?选择最适合你的情况。

这到底是什么意思?如果您认为模板中的数据是用JavaScript表示的,那么事实并非如此:您可以直接在模板中使用python对象。如果您的意思是,如何将Python字典或列表中的JSON文本嵌入到模板中:使用Django附带的simplejson对其进行编码


但是,您通常不想这样做,原因有两个。如果在模板中包含此动态数据,则无法轻松缓存它。这不应该是另一个生成JS文件的视图吗?或者,在页面处于活动状态时调用AJAX来获取数据?选择最适合您的情况。

将其转换为JSON,并在template.html中包含
标记,如

var my_associative_array = {{ json_data }}

在JSON将Python dict编码为字符串并使用key
JSON_data

将其放入上下文后,将其转换为JSON,并在template.html中包含在
标记内,如

var my_associative_array = {{ json_data }}

在JSON将Python dict编码为字符串并使用key
JSON_data

将其放入上下文后,Vinay Sajip很接近,但是您添加了安全过滤器以避免django自动转义JSON数据,因此这会起作用(有其他方法停止自动转义,但这是最简单的方法):


Vinay Sajip很接近,但是您添加了安全过滤器,以避免django自动转义json数据,因此这会起作用(有其他方法可以停止自动转义,但这是最简单的方法):