如何解决Django分页故障排除
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 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 %}
大家好,我正在尝试对我的网站进行分页,但是它不起作用。地址栏显示还有其他页面,但它们都显示了所有帖子,而不是我认为的每页显示4个帖子。任何人都知道我在做什么错。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。