如何在Django中将JSON数组视为列表

时间:2017-10-05 22:16:05

标签: python json django

我在views.py上渲染一个查询集,如下所示:

person = MyDict.objects.filter(search_description = name)
    return render(request,'myPage/find.html',{'person':person})

它的呈现方式如下:

person=[{     
   'gender': 'male',
   'description': ['24', 'Student', 'NY']
}]

如果我在我的html上应用以下代码:

{% for item in person %}
   {{ item.description }}
{% endfor %}

返回['24', 'Student', 'NY'] 但我想这样看:

24
Student 
NY

怎么做???

2 个答案:

答案 0 :(得分:0)

您可以使用django的join模板标记

{{ item.description|join:"<br>" }}

答案 1 :(得分:0)

您需要为检查值类型设置模板标签是否为列表。

templatetags代码:

from django import template
register = template.Library()

@register.simple_tag
def is_list_type(data):
    return isinstance(data, list)

HTML代码:

{% load <templatetag file name> %}
{% for item in person %}
    {% is_list_type item as result %}
    {% if result %}
        {% for value in item %}
           {{value}} <br>
        {% endfor %}
    {% else %}
        {{ item}}<br>
    {% endif %}
{% endfor %}

<强>输出:

male
24
Student 
NY