Python django基本分页问题
我有一个微博应用程序,我正在尝试对条目进行分页,例如,每页只显示10条。 虽然我遵循了教程,但我的分页似乎不起作用 列表函数如下所示:Python django基本分页问题,python,django,pagination,Python,Django,Pagination,我有一个微博应用程序,我正在尝试对条目进行分页,例如,每页只显示10条。 虽然我遵循了教程,但我的分页似乎不起作用 列表函数如下所示: def listing(request): blog_list = Blog.objects.all() paginator = Paginator(blog_list, 10) try: page = int(request.GET.get('page','1')) except ValueError:
def listing(request):
blog_list = Blog.objects.all()
paginator = Paginator(blog_list, 10)
try:
page = int(request.GET.get('page','1'))
except ValueError:
page = 1
try:
posts = paginator.page(page)
except (EmptyPage, InvalidPage):
posts = paginator.page(paginator.num_pages)
return render_to_response('profile/publicProfile.html', {"posts": posts})
在我的模板中:
<div class="pagination">
<span class="step-links">
{% if posts.has_previous %}
<a href="?page={{ posts.previous_page_number }}">previous</a>
{% endif %}
<span class="current">
Page {{ posts.number }} of {{ posts.paginator.num_pages }}.
</span>
{% if object.has_next %}
<a href="?page={{ posts.next_page_number }}">next</a>
{% endif %}
</span>
{% load pagination_tags %}
{% autopaginate blog_list 10 %}
{% paginate %}
{%if posts.has_previous%}
{%endif%}
第{{posts.paginator.num_pages}页中的第{{posts.number}页。
{%if object.has_next%}
{%endif%}
谢谢 返回采用paginate_by
参数的通用视图,而不是返回render_to_响应,这样就可以实现分页,而无需编写一行Python代码,只需将所有对象的列表传递给模板(即blog_list=blog.objects.all()
,然后在模板中使用三个标记:
<div class="pagination">
<span class="step-links">
{% if posts.has_previous %}
<a href="?page={{ posts.previous_page_number }}">previous</a>
{% endif %}
<span class="current">
Page {{ posts.number }} of {{ posts.paginator.num_pages }}.
</span>
{% if object.has_next %}
<a href="?page={{ posts.next_page_number }}">next</a>
{% endif %}
</span>
{% load pagination_tags %}
{% autopaginate blog_list 10 %}
{% paginate %}
到底出了什么问题?你有错误吗?。。。除了你没有在模板中的任何地方显示帖子这一事实之外。不,这只是“模板中有罪的部分”,而不是所有的模板。听起来不错,教程也很不错,但是我在哪里可以获得分页中间件呢?我的错误是:导入中间件pagination.middleware时出错:“没有名为pagination.middleware的模块”您应该将其添加到setting.py,middleware_类中,如下所示:middleware_类=('pagination.middleware.PaginationMiddleware',)换句话说,它位于pagination文件夹middleware.py文件中是的,很抱歉不够准确,我在我的中间件类中使用了“pagination.middleware.PaginationMiddleware”,并在我安装的应用程序中包含了paginated,就像在教程中一样,但我得到了错误:配置不当:导入中间件pagination.middleware时出错:“没有名为pagination.middleware的模块”我错了吗?谢谢您是否安装了django分页pip安装django分页
should workereasy_安装django分页