Ich arbeite an meiner ersten Django-Anwendung und insbesondere an der Seitennummerierung. Vor dem Hinzufügen der Seitennummerierung, als ich weiterging:Django Wie bekomme ich die erste Seite von Elementen, wenn ich eine URL ansteuere?
http://localhost:8000/posts
Ich hätte mir alle Artikel angezeigt.
Aber jetzt habe ich Paginierung hinzugefügt und alles funktioniert gut. Ich zeige nur 2 Artikel pro Seite an und ich habe 5 Artikel. Alles funktioniert gut, wenn ich die Seite getroffen:
http://localhost:8000/posts?page=1
http://localhost:8000/posts?page=2
http://localhost:8000/posts?page=3
Aber wenn ich getroffen:
http://localhost:8000/posts
ich folgende Fehlermeldung haben:
That page number is not an integer
Das ist mein view.py ist:
def posts(request):
all_posts = Post.objects.order_by('published_date')
paginator = Paginator(all_posts, 2)
page = request.GET.get("page")
try:
posts = paginator.page(page)
except PageNotAnInteger:
posts = paginator.page(page)
except EmptyPage:
posts = paginator.page(paginator.num_pages)
context = {
'posts': posts,
}
return render(request, 'my_blog/posts.html', context)
Wie kann ich von diesem Problem fahren und beim Treffen: http://localhost:8000/posts
die erste Seite mit angezeigt