![](/img/trans.png)
[英]How to call a function in views.py on clicking a button in template.html in django
[英]Getting Django Python data from views.py to javascript object in template.html
我正在使用Django的render_to_response
将数据写出到html页面,但我也想通过render_ to _response调用将python字典加载到javascript关联数组中。 最好的方法是什么?
将其转换为JSON,并在template.html中的<script>
标记内添加类似
var my_associative_array = {{ json_data }}
在将您的Python dict进行JSON编码后,使用键json_data
将其放入上下文中。
Vinay Sajip已经关闭,但是您添加了安全过滤器,以避免django自动转义json数据,因此这可以工作(还有其他方法可以停止自动转义,但这是最简单的方法):
var my_associative_array = {{ json_data|safe }}
这到底是什么意思? 如果您认为模板中的数据是JavaScript术语,则不是:您可以直接在模板中使用python对象。 如果您的意思是,如何将Python字典或列表中的JSON文字嵌入我的模板中:使用Django随附的simplejson对其进行编码。
但是,由于多种原因,您通常不想这样做。 如果在模板中包含此动态数据,则无法轻松地对其进行缓存。 这不应该是另一个正在生成您要包含的JS文件的视图吗? 还是在页面上线后通过AJAX调用来获取数据? 选择最适合您的情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.