Django分页故障排除
views.pyDjango分页故障排除,django,django-pagination,Django,Django Pagination,views.py from django.shortcuts import render, get_object_or_404, redirect,HttpResponseRedirect from .models import Post, Comment from django.utils import timezone from .forms import PostForm from django.contrib.auth.decorators impo
from django.shortcuts import render, get_object_or_404, redirect,HttpResponseRedirect
from .models import Post, Comment
from django.utils import timezone
from .forms import PostForm
from django.contrib.auth.decorators import login_required
from django.contrib import messages
from django.urls import reverse
from django .core.paginator import Paginator, PageNotAnInteger, EmptyPage
def post_index(request):
posts = Post.objects.filter(published_date__lte=timezone.now()).order_by("published_date")
paginator = Paginator(posts, 4)
page = request.GET.get('page')
try:
post_list = paginator.page(page)
except PageNotAnInteger:
post_list = paginator.page(1)
except EmptyPage:
post_list = paginator.page(paginator.num_pages)
return render(request, "blog/post_index.html", {"posts": posts, "page": page, "post_list": post_list})
post_index.html
{% extends "blog/base.html" %}
{% block content %}
{% for post in posts %}
<article class="media content-section">
<img class= "rounded-circle article-img" src="{{ post.author.profile.profile_pic.url }}">
<div class="media-body">
<div class="article-metadata">
<a class="mr-2" href="{% url 'profile' %}">{{ post.author }}</a>
<small class="text-muted">{{ post.published_date }}</small>
</div>
<h2><a class="article-title" href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a></h2>
<p class="article-content">{{ post.text }}</p>
</div>
</article>
{% endfor %}
<div class="pagination">
<div class="section-inner clearfix">
<p>
{% if post_list.has_previous %}
<a href="?page={{ post_list.previous_page_number }}">< Prev</a> |
{% endif %}
{% if post_list.has_next %}
<a href="?page={{ post_list.next_page_number }}">Next ></a>
{% endif %}
<span>Page {{ post_list.number }} of {{ post_list.paginator.num_pages }}</span>
</p>
</div>
</div>
{% endblock %}
{%extends“blog/base.html”%}
{%block content%}
{posts%%中的post为%s}
{{post.published_date}
{{post.text}
{%endfor%}
{%if post_list.has_previous%}
|
{%endif%}
{%if post_list.has_next%}
{%endif%}
第{{post_list.paginator.num_pages}页中的第{post_list.number}页
{%endblock%}
嗨,伙计们,我正试图为我的网站分页,但它不起作用。地址栏显示还有其他页面,但它们都显示了所有帖子,而不是我在视图中显示的每页4篇。任何人都知道我做错了什么。解决了问题