Question

Ma page category.html est comme ça en ce moment et la pagination ne fonctionne pas. Il ne montre même pas d'erreur.

{% autopaginate category.entries.all 5 %}   #line 17
{% for entry in category.entries.all %}
<li><a href="{{ entry.get_absolute_url }}">{{ entry.name }}</a></li>

Quand d'autre part je change la ligne 17 dans le catehory.html à ce qui suit:

{% autopaginate category.entries.all 5 %}   #line 17

il me donne énorme erreur de syntaxe du modèle. http://pastebin.com/E4zfCt0v

J'utilise l'aide django-pagination pagination sur une autre page aussi, et il fonctionne très bien là-bas. Je pense que je ne suis probablement pas récupérer les entrées correctement, mais si tel était le cas, alors {% pour l'entrée dans category.entries.all%} ne devrait pas avoir travaillé plus, ce qui fonctionne très bien. Je reçois toutes les entrées, mais il est tout simplement pas se paginé sur cette page particulière.

Était-ce utile?

La solution

On dirait que la balise autopaginate ne peut pas résoudre variable category.entries.all dans un objet valide (queryset dans ce cas). Une solution rapide qui devrait fonctionner est de passer de votre category_entries variable vue nommée (ou lui donner un autre nom) qui contiendra déjà résolu queryset:

category_entries = category.entries.all()

pas oublier d'ajouter category_entries à votre contexte de modèle et le changement category.entries.all à category_entries dans votre modèle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top