2008-11-08 2 views
2

Я работаю с экземпляром django Publisher, я хочу перечислить всех издателей в db через мой шаблон list_publisher.html, мой шаблон выглядит;Как мне перечислить элементы в моих моделях Django?

{% extends "admin/base_site.html" %} 
{% block title %}List of books by publisher{% endblock %} 
{% block content %} 

<div id="content-main"> 
<h1>List of publisher:</h1> 

{%regroup publisher by name as pub_list %} 


{% for pub in pub_list %} 


<li>{{ pub.name }}</li> 

{% endfor %} 
</div> 
{% endblock %} 

, но когда я бегу «http://127.0.0.1:8000/list_publisher/» шаблон просто печатает заголовок страницы без ошибок! Что я делаю не так?

+0

только добавлено определение издателя и предложения order_by – VonC 2008-11-08 11:37:33

ответ

3

Несколько предложений:

  • Убедитесь, что ваш base_site.html делает определение {% block content %}{% endblock %} раздела для уточнения по вашему моей list_publisher.html
  • чеке мощности вашего списка: {%regroup publisher by name as pub_list %}{{ pub_list|length }}. Это должно по крайней мере отображать длину вашего списка. Если есть «0» ... Вы знаете, почему он не отображает что-либо проверить
  • , что список действительно отсортированы по имени, прежде чем использовать перегруппировать или использовать {% regroup publisher|dictsort:"name" by name as pub_list %}, чтобы быть уверенным

Если длина '0', вы должны убедиться, что издатель определен (был инициализирован из базы данных) и отсортирован соответствующим образом.

Другими словами, вы видите в любом месте (в шаблоне или в определенных шаблонов):

publisher = Publisher.objects.all().order_by("name") 

?
(опять же, заказ по наименованию важен, чтобы обеспечить правильную работу вашего тега перегруппировки)

+0

Длина равна 0, но когда я проверяю его через интерфейс администратора, у него есть 4 записи ?? – gath 2008-11-08 09:00:41

0

Хороший ответ VonC.

Быстрый и грязный способ взглянуть на pub_list - это вставить [{{pub_list}}] в ваш шаблон. Я положил его в квадратные скобки, если он пуст. Кстати, вы можете получить что-то похожее на [,,,,,]. Это потому, что ссылки на объекты завернуты в <> и ваш браузер идет WTF? Просто сделайте View Source, и вы увидите полный результат.

 Смежные вопросы

  • Нет связанных вопросов^_^