使用simplejson.dumps输出到django模板,但需要使用标签访问数组

时间:2011-08-19 05:52:37

标签: django templates

我将json从视图返回到django模板,因此我可以使用javascript中的数据,但现在我还需要使用django模板语法访问其中一个数组。这似乎不太好用。

在我看来,我创建了一个包含对象项的python数组。我像这样返回simplejson.dumps:

response_dict = {"Description":pkg.desc,"MyTypes":pkgtypes,...
return HttpResponse(simplejson.dumps(response_dict), mimetype='text/javascript')

其中pkgtypes是我有兴趣通过模板标签访问的对象数组。我设法找到“| safe”过滤器,至少告诉我4个项目已经返回到模板,但我无法访问里面的对象。这是我尝试过的:

 {% for t in MyTypes|safe %}
    SOMETHING
    <input type="checkbox" name="myTypes" value="{{ t.Val }}" />{{ t.Label }}
 {%  endfor %}
单词“SOMETHING”用复选框写了4次,但是我无法访问“Val”或“Label”这些是来自数组的值,如下所示:

[{"Val":myval1, "Label":mylabel1},{"Val":myval2,"Label":mylabel2}...]

我应该使用javascript来构建我的复选框吗?

1 个答案:

答案 0 :(得分:0)

为什么要将safe应用于一系列项目? safe适用于字符串,因此如果您想将内容标记为安全,请在输出之前执行,例如{{ t.Label|safe }}

您还可以尝试将{% debug %}放在某处以查看MyTypes变量的确切内容。