数据量大时页面会出现很多页码,需要利用自定义标签处理:
{#分页实现#}
{% for page in publisher_list.paginator.page_range %}
{% cirle_page publisher_list.number page %}
{% endfor %}
#自定义标签内处理:
@register.simple_tag
def cirle_page(cur_page, loop_page):
offset = abs(cur_page - loop_page)
if offset < 6:
if cur_page == loop_page:
page_element = '<li class="active"><a href="/CMS/publisherpage/?page=%s">%s</a></li>' % (
loop_page, loop_page)
else:
page_element = '<li><a href="/CMS/publisherpage/?page=%s">%s</a></li>' % (loop_page, loop_page)
return format_html(page_element)
return ''