我在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
怎么做???
答案 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