我在HTML模板中使用for循环,它认识到它们在那里但它没有像它应该在页面中显示它们。
我的观点:
person = []
x = people.objects.filter(deal='q')
for person in x:
print(person.name)
if person.paid_status == True:
person.append(lender)
return render(request, '.html', {'person': person})
我的模板:
<div>
{% if person %}
There are {{ person|length }} persons.
{% for p in person %}
<p> {{ p.name }} </p>
{% endfor %}
{% else %}
<p> As of now no persons have appeared. </p>
{% endif %}
</div>
在控制台中它正确打印人名,所以我很困惑为什么它在HTML
中不起作用我所看到的只有两个人(这是正确的),但它没有列出它们。
提前致谢。
答案 0 :(得分:2)
您正在覆盖循环中的变量 person 。
将人列表更改为人,它应该可以正常工作。
您的观点:
persons = []
x = people.objects.filter(deal='q')
for person in x:
if person.paid_status == True:
persons.append(person)
return render(request, '.html', {'persons': persons})
您的模板:
<div>
{% if persons %}
There are {{ persons|length }} persons.
{% for p in persons %}
<p> {{ p.name }} </p>
{% endfor %}
{% else %}
<p> As of now no persons have appeared. </p>
{% endif %}
</div>