Django HTML for循环没有显示相应的值

时间:2017-07-19 20:00:41

标签: html django django-views

我在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

中不起作用

我所看到的只有两个人(这是正确的),但它没有列出它们。

提前致谢。

1 个答案:

答案 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>