将Django Python数据从views.py获取到template.html中的javascript对象
我使用Django的将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对其进行编码 但是,您通常不想
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数据,因此这会起作用(有其他方法可以停止自动转义,但这是最简单的方法):