超详细教程-Django+Bootstrap构建博客分页功能

展现效果

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

实现规则:

默认展示7个分页按钮(previous与next不算)

  1. 页面范围等于1:不展示
  2. 所有页面范围小于等于7,全部展示:1 2 3 4 5 6 7
  3. 所有页面范围大于7,需展示省略符
    例如共8,当前页为1-4:1 2 3 4 5 。8
    例如共8,当前页为5:1 。 4 5 6 。8(这种情况,当前页始终位于页面导航中部)
    例如共8,当前页为6-8:1 。4 5 6 7 8

前端实现:

 <nav aria-label="Page navigation" style="padding-top: 0;margin: auto;display: flex;justify-content: center;align-items: center">
                <ul class="pagination pagination-sm" style="padding-top: 0;margin: 0 auto;font-size: 12px">
                    {# 一页不展示分页栏 #}
                    {% if paginator.num_pages == 1 %}
                     {# 七页全部展示分页栏 #}
                    {% elif paginator.num_pages <= 7 %}
                        {% for page in paginator.page_range %}
                            {# 判断是不是当前页,如果是高亮显示 #}
                            {% if page == posts_filter.number %}
                                <li class="active"><a  href="javascript:get_url({
    { page }})">{
  { page }}a>li>
                            {% else %}
                                <li><a href="javascript:get_url({
    { page }})">{
  { page }}a>

你可能感兴趣的:(#,Django博客项目)