2009-12-28 3 views
3

Это в моем urls.py:Django: Разбиение страниц в общих представлениях?

group_info = { 
    'queryset': Group.objects.all(), 
    'template_object_name': 'groups', 
    'paginate_by': 25, 
} 

И это отношение URL: (г '^ группы/$', 'django.views.generic.list_detail.object_list', group_info),

И это мой код в шаблоне:

<div class="pagination"> 
    <span class="step-links"> 
     {% if groups.has_previous %} 
      <a href="?page={{ groups.previous_page_number }}">previous</a> 
     {% endif %} 

     <span class="current"> 
      Page {{ groups.number }} of {{ groups.paginator.num_pages }}. 
     </span> 

     {% if groups.has_next %} 
      <a href="?page={{ groups.next_page_number }}">next</a> 
     {% endif %} 
    </span> 
</div> 

.. но не отображается информация нумерации страниц. Я думаю, что делаю это точно так же, как это сделано в документации. Любая идея, что не так?

Спасибо.

ответ

17

Вы используете неправильные имена переменных. Как говорят docs, имена переменных: paginator для объекта paginator и page_obj для этой страницы.

{% if is_paginated %} 
    <div class="pagination"> 
     <span class="step-links"> 
      {% if page_obj.has_previous %} 
       <a href="?page={{ page_obj.previous_page_number }}">previous</a> 
      {% endif %} 

      <span class="current"> 
       Page {{ page_obj.number }} of {{ paginator.num_pages }}. 
      </span> 

      {% if page_obj.has_next %} 
       <a href="?page={{ page_obj.next_page_number }}">next</a> 
      {% endif %} 
     </span> 
    </div> 
{% endif %} 
+0

Спасибо. Я вижу, что я пропустил в документах. – John

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