内容简介:翻译自:https://stackoverflow.com/questions/21150133/pass-a-list-of-string-from-django-to-javascript
我的Django对象有一个属性“City”.我正在尝试获取城市列表并使用Jquery在模板中捕获它(在X轴上的图表中使用).
我的问题是我无法摆脱unicode并引用列表.
(我设法为一个单一的价值做).相反,我坚持这个:
[“[[u’Paris’],[u’Lyon’]]”]
我已经尝试了很多东西,包括JSON.没有成功.
我的看法:
(实际上,其中一个尝试..)
def barchart1(request): city_array =[] for i in [1,MyObject.objects.count()]: objet = get_object_or_404(MyObject, pk=i) cities = [objet.city.city_name] city_array.append(cities) return render (request, 'plot3/plot_page.html', {"city_array" : city_array})
我的JS:
<script type="text/javascript"> var cities = ["{{ city_array }}"]; </script>
以下是JS如何读取视图发送的上下文
[“[[u’Paris’],[u’Lyon’]]”]
这是我想得到的
[‘巴黎’,’里昂’]
它必须是简单的东西,但我无法弄清楚如何做到这一点.
其他帖子不处理字符串列表.
知道我该怎么办?
在模板中执行{{city_array}}时,列表将转换为字符串.这是通过在列表上调用repr()来完成的,该列表以递归方式调用其内容上的repr().因为你的字符串是unicode,你会看到那些unicode文字,u’Paris’.
执行此操作的“正确”方法是将数据编码为json,例如在您的视图中:
import json # ... json_cities = json.dumps(city_array) # ... return render (request, 'plot3/plot_page.html', {"city_array" : json_cities})
然后呢
var cities = {{ city_array|safe }};
在模板中.
请注意:不要将此用于用户控制器数据!有关详细信息,请参阅 XSS Cheat Sheet by OSWASP 和 Django ticket 17419 的讨论.为了防止XSS,你可以使用像 SafeJSONEncoder from the django-cms project 这样的东西.
翻译自:https://stackoverflow.com/questions/21150133/pass-a-list-of-string-from-django-to-javascript
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 查找一个字符串中最长不含重复字符的子字符串,计算该最长子字符串的长度
- 字符串、字符处理总结
- 高频算法面试题(字符串)leetcode 387. 字符串中的第一个唯一字符
- php删除字符串最后一个字符
- (三)C语言之字符串与字符串函数
- 算法笔记字符串处理问题H:编排字符串(2064)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Practical Vim, Second Edition
Drew Neil / The Pragmatic Bookshelf / 2015-10-31 / USD 29.00
Vim is a fast and efficient text editor that will make you a faster and more efficient developer. It’s available on almost every OS, and if you master the techniques in this book, you’ll never need an......一起来看看 《Practical Vim, Second Edition》 这本书的介绍吧!
html转js在线工具
html转js在线工具
HSV CMYK 转换工具
HSV CMYK互换工具