#django #django-templates #django-views
#django #django-шаблоны #django-просмотры
Вопрос:
Я просматриваю руководство по django и создал примерное приложение для опросов. У меня в системе 5 опросов, которые видны мне через интерфейс администратора. Однако мой элементарный вид индекса и шаблон, похоже, не отображают их (вместо этого шаблон по умолчанию использует предложение else, как если бы опросов не было).
Мой индексный вид выглядит следующим образом:
def index(request):
latest_poll_list = Poll.objects.all().order_by('-pub_date')[:5]
return render_to_response('index.html', {'latest_poll_list': latest_poll_list})
И шаблон index.html:
{% if latest_poll_List %}
<ul>
{% for poll in latest_poll_list %}
<li><a href="/polls/{{ poll.id }}/">{{ poll.question }}</a></li>
{% endfor %}
</ul>
{% else %}
<p> No polls are available.</p>
{% endif %}
Я даже могу сделать polls = Poll.objects.all()
(с order_by и усечением или без них) в manage.py оболочка, и она возвращает все нормально. Что дает?
Ответ №1:
Это может быть простая опечатка: latest_poll_List должно быть latest_poll_list со строчной буквой L в списке. В противном случае, возможно, попробуйте:
{% if latest_poll_list.count > 0 %}
...
{% endif %}
Также попробуйте:
{{ latest_poll_list }}
где-нибудь в вашем шаблоне, чтобы посмотреть, выводит ли он правильный список объектов (т. Е. Шаблон получает правильный список опросов)
Комментарии:
1. Что ж, теперь я чувствую себя новичком. Этот верхний регистр L, должно быть, попал ко мне после просмотра всех других экземпляров latest_poll_list. Спасибо, что заметили это!
2. ха-ха, иногда вам нужен кто-то другой, чтобы определить простые вещи!