内容简介:翻译自: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)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
"笨办法"学Python
肖 (Zed A.Shaw) / 王巍巍 / 人民邮电出版社 / 2014-11-1 / CNY 49.00
本书是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。 本书结构非常简单,共包括52个习题,其中26个覆盖了输入/输出、变量和函数三个主题,另外26个覆盖了一些比较高级的话题,如条件判断、循环、类和对象、代码测......一起来看看 《"笨办法"学Python》 这本书的介绍吧!