You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django博客分类页Paginator无法限制每页6篇文章问题求助

Django分类页面分页失效问题解决

你的分页功能失效的核心原因是:模板中直接遍历了未经过分页处理的posts查询集,而非视图中生成的分页对象category_page。

修复步骤:

  1. 修改category_detail.html的文章循环逻辑
    将模板里的{% for post in posts %}替换为{% for post in category_page %}。category_page是Django Paginator返回的分页对象,它已经包含了当前页应展示的6篇文章数据。

修改后的代码片段:

{% for post in category_page %}
    <article class="col-lg-10">
        <div class="background-white">
            <div class="post-thumb">
                <a href="{{ post.get_absolute_url }}">
                    <img class="border-radius" src="{{ post.image.standard.url }}" alt="">
                </a>
            </div>
            <div class="pl-10">
                <div class="mb-15">
                    <a class="meta-2" href="{{ post.category.get_absolute_url }}"><span class="post-in">{{ post.category}}</span></a>
                </div>
                <h5 class="mb-15">
                    <a href="{{ post.get_absolute_url }}">{{ post.post_title }}</a></h5>
                <p class="mb-30">{{ post.body | slice:":200" | safe }}</p>
                <div class="mb-10">
                    <span class="post-on">{{ post.created_at}}</span>
                </div>
            </div>
        </div>
    </article>
{% endfor %}
{% include "include/pagination.html" %}
  1. 可选优化:清理冗余上下文变量
    视图中posts变量已无实际作用,可从上下文字典中移除,避免后续混淆:
context = {'category': category, 'categories': categories, 'category_page': category_page}

完成上述修改后,分页功能即可正常工作,每页将仅展示6篇文章,点击分页按钮也会正确切换对应页面的内容。

内容的提问来源于stack exchange,提问作者Firefoxer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 03:12:18