zoukankan      html  css  js  c++  java
  • django -- 内置分页

    urls.py

    from django.conf.urls import url
    from conn_oracle import views
    
    urlpatterns = [
        url(r'^page/', views.page),
    ]
    

    views.py

    from django.shortcuts import render
    from conn_oracle import models
    from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
    
    
    def page(request):
        contact_list = models.UserRegister.objects.all()
        paginator = Paginator(contact_list, 10)  # Show 10 contacts per page
        page = request.GET.get('page')
        try:
            contacts = paginator.page(page)
        except PageNotAnInteger:
            # If page is not an integer, deliver first page.
            contacts = paginator.page(1)
        except EmptyPage:
            # If page is out of range (e.g. 9999), deliver last page of results.
            contacts = paginator.page(paginator.num_pages)
    
        return render(request, 'page.html', {'contacts': contacts})
    

    models.py

    from django.db import models
    
    
    class UserRegister(models.Model):
        user_id = models.CharField(max_length=200, primary_key=True, db_column='user_id', null=True)
        login_name = models.CharField(max_length=50, db_column='login_name', null=True)
        user_gender = models.CharField(max_length=1, db_column='user_gender')
        user_real_name = models.CharField(max_length=200)
        user_hsp_name = models.CharField(max_length=300)
    
        class Meta:
            db_table = 'user_register'
    

    page.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <h1 class="i1">Info of USERS</h1>
    
        <table class="i1" border = 1px cellpadding="5">
            <thead>
                <tr>
                    <th>用户id</th>
                    <th>用户名</th>
                    <th>性别</th>
                    <th>姓名</th>
                    <th>单位</th>
                </tr>
            </thead>
            <tbody>
                {% for item in contacts %}
                    <tr>
                        <td>{{ item.user_id }}</td>
                        <td>{{ item.login_name }}</td>
                        <td>{{ item.user_gender }}</td>
                        <td>{{ item.user_real_name }}</td>
                        <td>{{ item.user_hsp_name }}</td>
                    </tr>
                {% endfor %}
            </tbody>
        </table>
    
        <div class="pagination">
            <span class="step-links">
                {% if contacts.has_previous %}
                    <a href="?page={{ contacts.previous_page_number }}">previous</a>
                {% endif %}
    
                <span class="current">
                    Page {{ contacts.number }} of {{ contacts.paginator.num_pages }}.
                </span>
    
                {% if contacts.has_next %}
                    <a href="?page={{ contacts.next_page_number }}">next</a>
                {% endif %}
            </span>
        </div>
    
    </body>
    </html>
    

    效果:

    注:参考  https://docs.djangoproject.com/en/1.10/topics/pagination/ 

  • 相关阅读:
    K3Cloud 解决方案版本号问题
    K3Cloud 通过元数据查询单据信息
    K3Cloud 设置分录的字段颜色
    K3Cloud 干预标准产品插件
    K3Cloud 根据单据ID 获取单据视图和数据包
    K3Cloud 后台修改账户密码策略
    K3Cloud 选择基础资料允许显示未审核数据
    K3Cloud 根据内码和基础资料元数据获取基础资料数据包
    按照应用场景划分安全测试
    常见业务场景的安全测试及安全开发
  • 原文地址:https://www.cnblogs.com/wumingxiaoyao/p/6526732.html
Copyright © 2011-2022 走看看