Django: That page number is less than 1


Vous avez fait une upgrade vers Django 1.5 et paf, votre pagination vous dégobille une erreur.

C’est normal, et c’est dans le changelog : à partir de maintenant, l’objet page lève une exception si vous essayez de récupérer une page précédente ou suivante quand elle n’existe pas.

Par exemple, si vous êtes à la page 1, il n’y a pas de page 0, et donc si dans votre template vous faites ça :

{{ page_obj.previous_page_number }}

Vous allez vous retrouver avec ça :

*** EmptyPage: That page number is less than 1

La solution est simplement de vérifier qu’il existe une page précédente (ou suivante). Par exemple :

{{ if page_obj.has_previous }}
    {{ page_obj.previous_page_number }}
{{ endif }}

Leave a comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.