只是大概记录下步骤:

1.表结构:

class UserProfile(models.Model):
'''
用户表
'''
user = models.OneToOneField(User,verbose_name='后台用户')
#名字
name = models.CharField(max_length=32,verbose_name='姓名')
#头像
head_img = models.ImageField(blank=True,null=True,upload_to="uploads/portrait",verbose_name='头像')
#邮箱
email = models.EmailField(max_length=64,blank=True,null=True,verbose_name='邮箱')
#手机号
phone = models.CharField(verbose_name='手机号',max_length=128)
#部门
department = models.ForeignKey('Group',verbose_name='部门',null=True,blank=True)
#公司ip
ip = models.GenericIPAddressField(max_length=32,verbose_name='办公IP')
#秘钥
secret_key = models.TextField(verbose_name='密钥')
#备注
memo = models.TextField(verbose_name='备注', null=True, blank=True)
#创建时间
create_date = models.DateField(verbose_name='注册时间',auto_now=True)
def __str__(self):
return self.name
class Meta:
verbose_name = '成员'
verbose_name_plural = '成员'

2.views里函数

#导入分页相关模块
from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger
def user(request):
group = models.Group.objects.all()
#导入user表
userlist = models.UserProfile.objects.all()
#设置要显示的页面数量
paginator = Paginator(userlist,10)
page = request.GET.get('page')
try:
userlist_objs = paginator.page(page)
print(userlist_objs)
except PageNotAnInteger:
#如果页面不是一个整数,交付第一页。
userlist_objs = paginator.page(1)
except EmptyPage:
userlist_objs = paginator.page(paginator.num_pages)
return render(request,'member/user.html',
{'userlist_objs':userlist_objs,'group':group})
#将被分页模块处理过的导入模板中

3.template里

导入分页处理的自定义标签
{% load memtags %}
用户信息
<tbody>
{% for user in userlist_objs %}
<tr class="gradeX">
<td class="text-center" name="id" value="{{ user.id }}" data-editable='false'>
<input name="id" value="{{ user.id }}" type="checkbox" class="i-checks">
</td>
<td class="text-center hostname"> <a href="{% url 'userdetail' user.id %}">{{ user.name }}</a></td>
<td class="text-center">{{ user.department }}</td>
<td class="text-center">{{ user.ip }}</td>
<td class="text-center">{{ user.phone }}</td>
<td class="text-center" data-editable='false'>
<a value="#" class="conn btn btn-xs btn-warning">分发</a>
<a href="{% url 'userdetail' user.id %}" class="btn btn-xs btn-info">详细资料</a>
</td>
</tr>
{% endfor %}
</tbody> 分页点击 <div class="col-sm-6">
<div class="dataTables_paginate paging_simple_numbers" id="editable_paginate">
<ul class="pagination" style="margin-top: 0; float: right">
{% if userlist_objs.has_previous %}
<li class="paginate_button previous disabled" aria-controls="editable" tabindex="0" id="editable_previous">
<a class="?page={{ userlist_objs.previous_page_number }}" href="#">Previous</a>
</li>
{% endif %}
{% for page_num in userlist_objs.paginator.page_range %}
{% gusee_page userlist_objs.number page_num %}
{% endfor %}
{% if userlist_objs.has_next %}
<li class="paginate_button next disabled" aria-controls="editable" tabindex="0" id="editable_next">
<a class="page" href="#">Next</a>
</li>
{% endif %} </ul>
</div>
</div>

4.自定义标签方法

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from django import template
from django.utils.html import format_html
from django.template.defaultfilters import stringfilter
from django.utils.encoding import force_text
from django.utils.safestring import mark_safe register = template.Library() @register.simple_tag
def gusee_page(current_page,loop_num):
offset = abs(current_page - loop_num)
if offset <5:
if current_page == loop_num:
page_ele = ''' <li class="paginate_button active" aria-controls="editable" tabindex="0"><a class="page" href="?page=%s" title="第%s页">%s</a></li>'''%(loop_num,loop_num,loop_num)
else:
page_ele = ''' <li class="paginate_button" aria-controls="editable" tabindex="0"><a class="page" href="?page=%s" title="第%s页">%s</a></li>'''%(loop_num,loop_num,loop_num) return format_html(page_ele)
else:
return ''

7.django之自定义分页记录的更多相关文章

  1. django上课笔记2-视图CBV-ORM补充-Django的自带分页-Django的自定义分页

    一.视图CBV 1.urls url(r'^login.html$', views.Login.as_view()), 2.views from django.views import View cl ...

  2. Django学习---自定义分页

    自定义分页 简单例子: urls.py: from django.contrib import admin from django.urls import path from django.conf. ...

  3. Django框架---- 自定义分页组件

    分页的实现与使用 class Pagination(object): """ 自定义分页 """ def __init__(self,cur ...

  4. django【自定义分页】

    1. views.py def app(request): page_info = PageInfo(request.GET.get('p'), 6, 100, request.path_info, ...

  5. Django之自定义分页

    分页功能在每个网站都是必要的,对于分页来说,其实就是根据用户的输入计算出应该显示在页面上的数据在数据库表中的起始位置. 1. 每页显示的数据条数 2. 每页显示页号链接数 3. 上一页和下一页 4. ...

  6. Django - Cookie、Session、自定义分页和Django分页器

    2. 今日内容 https://www.cnblogs.com/liwenzhou/p/8343243.html 1. Cookie和Session 1. Cookie 服务端: 1. 生成字符串 2 ...

  7. Django之Cookie、Session和自定义分页

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

  8. Django的用户认证组件,自定义分页

    一.用户认证组件 1.auth模块 from django.conrtrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1)authen ...

  9. Django自定义分页、bottle、Flask

    一.使用django实现之定义分页 1.自定义分页在django模板语言中,通过a标签实现; 2.前段a标签使用<a href="/user_list/?page=1"> ...

随机推荐

  1. Windows Server 2008 R2 IIS7.5下PHP、MySQL快速环境配置【图】

    众所周知,win平台的服务器版本默认是不能运行php的,需要对服务器进行环境配置. 而许多朋友纠结如何配置,在百度上搜索出的教程一大堆,基本步骤复杂,新手配置容易出错. 今天,邹颖峥教大家一种快速配置 ...

  2. 字符编码详解及由来(UNICODE,UTF-8,GBK)

        一直对字符的各种编码方式懵懵懂懂,什么ANSI.UNICODE.UTF-8.GB2312.GBK.DBCS.UCS--是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们.Let's ...

  3. MapReduce的MapTask任务的运行源码级分析

    TaskTracker任务初始化及启动task源码级分析 这篇文章中分析了任务的启动,每个task都会使用一个进程占用一个JVM来执行,org.apache.hadoop.mapred.Child方法 ...

  4. IEnumerable<> ICollection <> IList<> 区别

    IEnumerable< ICollection < IList区别 public interface IEnumerable { IEnumerator GetEnumerator(); ...

  5. MAVEN for mac 安装

    http://blog.csdn.net/anialy/article/details/22217937 下载 maven  http://mirrors.hust.edu.cn/apache/mav ...

  6. Go - template 常用方法详解 及 注意事项

    Go template包下面有两个函数可以创建模板实例 func New(name string) *Template func ParseFiles(filenames ...string) (*T ...

  7. DevPress GridControl添加按钮列

    把列的ColumnEdit属性设置为RepositoryItemButtonEdit 把TextEditStyle属性设置为HideTextEditor; 把Buttons的Kind属性设置为Glyp ...

  8. java网络osi基础

  9. mongodb 释放磁盘空间

    db.copyDatabase("from","to","127.0.0.1:16161"); 将127.0.0.1上的from库.拷贝到t ...

  10. leetcode 74. Search a 2D Matrix

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...