首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Django中的数组传递给模板并与JavaScript一起使用

问如何将Django中的数组传递给模板并与JavaScript一起使用
EN

Stack Overflow用户
提问于 2009-04-11 12:02:06
回答 6查看 55.4K关注 0票数 58

我想将数组传递给模板,然后通过JavaScript使用它。

在我的views.py中有:

代码语言:javascript
复制
arry1 = ['Str',500,20]
return render_to_response('test.html', {'array1': arry1})

在我的模板里:

代码语言:javascript
复制
var array1 = {{ array1 }};

但当我访问该网站时,它会输出:

代码语言:javascript
复制
var array1 = ['Str',500,20];

我要换什么?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-04-11 12:22:38

尝试使用{{ array1|safe }},看看这是否有任何不同。

票数 110
EN

Stack Overflow用户

发布于 2009-04-11 12:26:20

如前所述,您可以使用|safe过滤器,这样Django就不会对数组进行清理并保持原样。

另一个选项,也可能是更好的长期选择是使用simplejson模块(它包含在django中)将您的Python格式化为一个JSON对象,在该对象中您可以返回Javascript。您可以循环遍历JSON对象,就像任何数组一样。

代码语言:javascript
复制
from django.utils import simplejson
list = [1,2,3,'String1']
json_list = simplejson.dumps(list)
render_to_response(template_name, {'json_list': json_list})

在你的Javascript里,只有{{ json_list }}

票数 19
EN

Stack Overflow用户

发布于 2013-01-25 20:47:12

In Django:

代码语言:javascript
复制
from django.utils import simplejson
json_list = simplejson.dumps(YOUR_LIST)

并在上下文中传递"json_list“

IN JS:

代码语言:javascript
复制
var YOUR_JS_LIST = {{YOUR_LIST|safe}}; 
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/739942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档