paginator对前后一页数据过滤后的选择
Posted xuroke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了paginator对前后一页数据过滤后的选择相关的知识,希望对你有一定的参考价值。
@register.simple_tag def pre_ele(query_sets, filter_condtions,previous_orderby, search_text): c_tag =‘‘ filters = ‘‘ for k, v in filter_condtions.items(): filters += "&%s=%s" % (k, v) if query_sets.has_previous(): page_n = query_sets.previous_page_number() # page_n是指针指向点击位置的前一个,因此判断时我们认为是大于1,其实还要往前推一个,即减去1,所以此处>0 if page_n > 0: c_tag += ‘‘‘<li><a href="?page=1%s&o=%s&_q=%s">首页</a>‘‘‘ % (filters, previous_orderby, search_text) c_tag += ‘‘‘<li><a href="?page=%s%s&o=%s&_q=%s">上一页</a>‘‘‘ % (page_n, filters, previous_orderby, search_text) e_tag = ‘</li>‘ c_tag += e_tag return mark_safe(c_tag) @register.simple_tag def next_ele(query_sets, filter_condtions,previous_orderby, search_text): c_tag =‘‘ filters = ‘‘ for k, v in filter_condtions.items(): filters += "&%s=%s" % (k, v) if query_sets.has_next(): page_n = query_sets.next_page_number() # page_n是指针指向点击位置的后一个 pg_n = query_sets.paginator.num_pages #因为是判断后一页,要用到总页数减去pg_n指向的位置 #在这里的-1,代表指针跳出总页数的最后一个位置,总页数和它相减总是-1,这样才是最后的一页 if pg_n - page_n > -1: c_tag += ‘‘‘<li><a href="?page=%s%s&o=%s&_q=%s">下一页</a>‘‘‘ % (page_n, filters, previous_orderby, search_text) c_tag += ‘‘‘<li><a href="?page=%s%s&o=%s&_q=%s">尾页</a>‘‘‘ % (pg_n, filters, previous_orderby, search_text) e_tag = ‘</li>‘ c_tag += e_tag return mark_safe(c_tag)
以上是关于paginator对前后一页数据过滤后的选择的主要内容,如果未能解决你的问题,请参考以下文章
vue框架,使用pagination组件进行分页时 分页不在第一页的时候保存了 筛选记录,然后f5刷新又到第一页了,到了onCurrentChange改变分页的函数改变了