【问题标题】:Django Blog Pagination PagesDjango 博客分页页面
【发布时间】:2014-10-18 07:50:14
【问题描述】:

我的博客文章有这个查看功能。

def home(request):
    posts = Post.objects.all().order_by("-pub_date")
    paginator = Paginator(posts, 5)

    try: page = int(request.GET.get("page", 1))
    except ValueError: page = 1

    try: posts = paginator.page(page)
    except (InvalidPage, EmptyPage):
        posts = paginator.page(paginator.num_page)

    return render_to_response("home.html",
                            dict(posts=posts, user=request.user))

在我的主 urls.py 文件中,我有以下内容:

urlpatterns = patterns('',
    url(r'^', 'blog.views.home', name='home'),
    url(r'^admin/', include(admin.site.urls)),
)

另外,我没有在我的应用文件夹下创建 urls.py 文件。

我的 home.html 文件中有这个。

{% block footer %}

<ul class="pager">
{% if posts.object_list and posts.paginator.num_pages > 1 %}
  {% if posts.has_previous %}
  <li><a href="{{ posts.previous_page_number }}">Previous</a></li>
  {% endif %}
  {% if posts.has_next %}
  <li><a href="{{ posts.next_page_number }}">Next</a></li>
  {% endif %}
</ul>
{% endif %}

</div><!-- /.blog-main -->
{% endblock %}

到目前为止,主页 (home.html) 已在我的本地服务器上正确呈现。但是,当我单击下一页链接时,它会将我发送到

127.0.0.1:8000/2

并显示相同的页面。另外,上一个按钮也没有显示。

问题:我做错了什么吗?以及如何在 url 调度程序中正确地将我的视图定向到第 2 页?

帮助表示赞赏。谢谢。

【问题讨论】:

    标签: django-views django-urls django-pagination


    【解决方案1】:

    您可以使用文档版本的分页视图。 https://docs.djangoproject.com/en/dev/topics/pagination/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-14
      • 2017-07-26
      • 2012-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多