前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >django-pure-pagination实现分页

django-pure-pagination实现分页

作者头像
程序员同行者
发布2018-07-02 17:10:11
5460
发布2018-07-02 17:10:11
举报
文章被收录于专栏:程序员同行者程序员同行者

django-pure-paginations是一个第三方的分页插件

安装 django-pure-pagination
代码语言:javascript
复制
pip install django-pure-pagination
在settings里的INSTALLED_APPS下新增如下
代码语言:javascript
复制
INSTALLED_APPS = [
    'pure_pagination',
]
在views中使用
代码语言:javascript
复制
#引入
from pure_pagination import Paginator, EmptyPage, PageNotAnInteger

class UserHistoryView(LoginRequiredMixin,ListView):
    '''登录日志'''
    queryset = UserLog.objects.all().order_by('-login_time')
    template_name = 'users/user_history.html'
    # context_object_name = 'user_history'

    def get_context_data(self, **kwargs):
   #分页开始
        try:
            page = self.request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1
            # 这里指从all中取10个出来,每页显示10个
        p = Paginator(self.queryset, 10, request=self.request)
        page_list = p.page(page)
        print(page_list)
        context = {
            "platform_active": "active",
            "user_log_active": "active",
            #返回给模板
            "page_list":page_list,
        }
        kwargs.update(context)
        return super(UserHistoryView, self).get_context_data(**kwargs)
模板中使用
代码语言:javascript
复制
       <div class="table-responsive">


                                <form id="del_form_asset_all" class="form-horizontal  ">
                                    <table class="table table-striped table-bordered table-hover dataTables-example">
                                        <thead>
                                        <tr>
                                            <th>ID</th>
                                            <th>用户</th>
                                            <th>客户端</th>
                                            <th>来源IP</th>
                                            <th>城市</th>
                                            <th>登录时间</th>

                                        </tr>
                                        </thead>
                                        <tbody>

                                        {% for user_history in  page_list.object_list %}

                                            <tr class="gradeA">
                                                <td>{{ user_history.id }}</td>
                                                <td>{{ user_history.username }}</td>
                                                <td>{{ user_history.user_agent }}</td>
                                                <td>{{ user_history.ip }}</td>
                                                <td>{{ user_history.city }}</td>
                                                <td>{{ user_history.login_time }}</td>


                                            </tr>
                                        {% endfor %}

                                        </tbody>

                                    </table>
                                </form>
                              #分页开始
                                <div>
                                    <ul class="pagination pull-right">
                                        {% if page_list.has_previous %}
                                            <li class="long"><a
                                                    href="?{{ page_list.previous_page_number.querystring }}">上一页</a>
                                            </li>
                                        {% endif %}
                                        {% for page in page_list.pages %}
                                            {% if page %}
                                                {% ifequal page page_list.number %}
                                                    <li class="active"><a href="?{{ page.querystring }}">{{ page }}</a>
                                                    </li>
                                                {% else %}
                                                    <li><a href="?{{ page.querystring }}">{{ page }}</a>
                                                {% endifequal %}
                                            {% else %}
                                                <li class="none"><a href="">...</a></li>
                                            {% endif %}
                                        {% endfor %}
                                        {% if page_list.has_next %}
                                            <li class="long"><a
                                                    href="?{{ page_list.next_page_number.querystring }}">下一页</a></li>
                                        {% endif %}
                                    </ul>

                                </div>


                            </div>
分页效果
分页.jpg
分页.jpg
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • django-pure-paginations是一个第三方的分页插件
    • 安装 django-pure-pagination
      • 在settings里的INSTALLED_APPS下新增如下
        • 在views中使用
          • 模板中使用
            • 分页效果
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档