Django не находит мои объекты

#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. ха-ха, иногда вам нужен кто-то другой, чтобы определить простые вещи!