Ich versuche, Django Paginator verwenden, indem Sie die official documentation folgen. Aber es zeigt nur "Seite von". Was mache ich falsch?Was mache ich falsch mit Django Paginator
Es ist mein views.py:
from django.shortcuts import render, get_object_or_404, render_to_response
from django.utils import timezone
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from .models import Post
def post_list(request):
posts = Post.objects.order_by('-created_date')
return render(request, 'blog/post_list.html', {'posts': posts})
def post_detail(request, pk):
post = get_object_or_404(Post, pk=pk)
return render(request, 'blog/post_detail.html', {'post': post})
def listing(request):
article_list = Post.objects.all()
paginator = Paginator(article_list, 25) # Show 25 contacts per page
page = request.GET.get('page')
try:
articles = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
articles = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results.
articles = paginator.page(paginator.num_pages)
return render(request, 'blog/post_list.html', {'articles': articles})
Und mein post_list.html:
<div class="pagination">
<span class="step-links">
{% if articles.has_previous %}
<a href="?page={{ articles.previous_page_number }}">previous</a>
{% endif %}
<span class="current">
Page {{ articles.number }} of {{ articles.paginator.num_pages }}.
</span>
{% if articles.has_next %}
<a href="?page={{ articles.next_page_number }}">next</a>
{% endif %}
</span>
</div>
Sind Sie sicher, dass Sie die Ansicht 'post_list' nicht rendern? Bitte posten Sie Ihre URLs und notieren Sie die URL, die Sie in Ihren Browser eingeben. – rnevius
urlpatterns = [ url (r '^ $', ansichten.post_liste, name = 'post_list'), url (r '^ post/(? P [0-9] +)/$', ansichten.post_detail , name = 'post_detail'), ] –
whoisazamat
keiner dieser URLs ruft Ihre Ansicht auf, so dass Sie entweder eine URL erstellen müssen, um dies zu tun oder Ihre Ansicht auf irgendeine Weise aufzurufen – Sayse