2009-12-28 5 views
3

Ceci est mon urls.py:Django: Pagination dans les vues génériques?

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

Et voici l'URL pertinente: (r '^ groupes/$', 'django.views.generic.list_detail.object_list', group_info),

Et voici mon code dans le modèle:

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

.. mais aucune information de pagination est affiché. Je pense que je fais cela exactement comme dans la documentation. Une idée de ce qui ne va pas?

Merci.

Répondre

17

Vous utilisez les mauvais noms de variables. Comme le disent les docs, les noms de variables sont paginator pour l'objet paginateur et page_obj pour la page.

{% 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

Merci. Je vois ce que j'ai manqué dans les docs. – John

Questions connexes