一 . 客户列表展示

  为了插入数据方便,我们可以用django里面的admin插入数据

  创建超级用户

  

  

  

  把语言改成中文

  

  结果:

  

  列表展示

展示不同字段的方式:   #  有需要的可以写 def__str__(self)
1 .普通字段
对象.字段名
2 choice
对象.字段名 # 得到是真的值
对象.get_字段名_display() # 中文显示值 前端不用写括号
3 . 外键
对象.外键 # 多对多 为了方便取值,要在类下定义方法
对象.外键.name # 一对一, 一对多

  choice展示方法

        

  在HTML文件中需要用get_字段_display

    

  要让不同状态呈现不同的颜色

  

  

  结果:

  

  多对多外键的列表展示

  

  

    

  

  全局格式化时间操作(如果你的字段里面写的是datetime下面就写DATETIME_FORMAT)

  

  models 补充

  

  __str__ 和 __repr__的用法

定义一个类,对象在调用的时候,先调用__str__方法,如果没有在调用__repr__方法,如果都没有,那么就找类继承的object中的__str__方法, 
  其实__str__方法最终调用的还是__repr__,
__repr__属于正规军,内置数据类型(list,tuple)直接找的是__repr__方法

二 . 分页展示

  由于分页这个功能很多场景都能用的到,这里我们把它封装成一个类,这样我们需要的时候就可一直接调用了

# 首先我们先想一下流程

第一,我们要知道一共有多少条数据  # len(total_msg)

第二,每页要显示多少  # per_msg

第三,一共有多少页
# divmod的两个参数分别是被除数,除数,得到一个元组,分别是 // 的值和 % 的值
total_page,more = divmod(len(total_msg),per_msg)
判断如果more != 0,则total_page += 1 第四,前端要展示多少个分页 # show_page 第五,如果总页数小于要展示的分页怎么办? 第六,要对用户瞎输做出异常捕获 第七,要切片生成数据

  定义类utils文件夹/py文件/类

  

  

  

  

  

  

Django--CRM-客户列表展示, 分页的更多相关文章

  1. 案例49-crm练习获取客户列表带有分页和筛选功能

    1 案例分析 2 书写步骤 1.封装PageBean 2.书写Action 3.书写Service 4.书写Dao   注意清空之前设置的聚合函数  dc.setProjection(null); 5 ...

  2. Django CRM客户关系管理系统

    CRM需求分析 随着信息化时代带来的科技创新,CRM客户关系管理系统带来的效益在已经成为很多企业提高竞争优势的一分部,CRM客户关系管理系统将企业管理和客户关系管理集成到统一的平台,其系统功能主要体现 ...

  3. 巨蟒django之CRM2 展示客户列表&&分页

    1.展示客户列表 点击画红线中的views,进入下列界面 路径的查找顺序:应该是先查找外层的templates里边的html,然后查找app里边的templates 另一个会按照app的顺序进行寻找, ...

  4. Django项目:CRM(客户关系管理系统)--78--68PerfectCRM实现CRM业务流程(bpm)报名缴费分页

    # pagination.py # ————————68PerfectCRM实现CRM业务流程(bpm)报名缴费分页———————— from django.utils.safestring impo ...

  5. Django项目:CRM(客户关系管理系统)--69--59PerfectCRM实现king_admin行内编辑

    #base_admin.py # ————————24PerfectCRM实现King_admin自定义操作数据———————— from django.shortcuts import render ...

  6. Django项目:CRM(客户关系管理系统)--65--55PerfectCRM实现CRM客户报名状态颜色变化

    # kingadmin.py # ————————04PerfectCRM实现King_admin注册功能———————— from crm import models #print("ki ...

  7. Django项目:CRM(客户关系管理系统)--64--54PerfectCRM实现CRM客户报名链接

    # kingadmin.py # ————————04PerfectCRM实现King_admin注册功能———————— from crm import models #print("ki ...

  8. Django项目:CRM(客户关系管理系统)--84--74PerfectCRM实现CRM权限和权限组限制访问URL

    #models.py # ————————01PerfectCRM基本配置ADMIN———————— from django.db import models # Create your models ...

  9. Django项目:CRM(客户关系管理系统)--85--75PerfectCRM实现CRM扩展权限

    # sales_urls.py # ————————47PerfectCRM实现CRM客户报名流程———————— from django.conf.urls import url from bpm. ...

随机推荐

  1. UVA1605-Building for UN(思维)

    Problem UVA1605-Building for UN Accept: 398  Submit: 2303Time Limit: 10000 mSec Problem Description ...

  2. pytorch例子学习-DATA LOADING AND PROCESSING TUTORIAL

    参考:https://pytorch.org/tutorials/beginner/data_loading_tutorial.html DATA LOADING AND PROCESSING TUT ...

  3. node.js api文档生成

    ApiDoc官网地址为:http://apidocjs.com/在Java中有Swagger及其升级版的Swagger2+Springfox自动生成接口管理文档.而在Node.js中则可以利用ApiD ...

  4. Burp Suite学习之Intruder的4种攻击模式

    burp suit的intruder攻击共有四种模式,如图所示,下面分别讲讲这四种模式的使用方法和场景. 一 .Sniper模式 Sniper模式使用一组payload集合,它一次只使用一个paylo ...

  5. 微信小程序开发平台新功能「云开发」快速上手体验

    微信小程序开发平台刚刚开放了一个全新的功能:云开发. 简单地说就是将开发人员搭建微信小程序后端的成本再次降低,此文刚好在此产品公测时,来快速上手看看都有哪些方便开发者的功能更新. 微信小程序一直保持一 ...

  6. C++常用代码优化策略

    C++代码常用的优化策略 1.不存在指向空值的引用,意味着引用比指针的效率更高,因为在使用引用之前不需要测试它的合法性:指针可以被重新赋值以指向另一个不同的对象,但是引用总是指向它初始化时指定的对象. ...

  7. Python-0010-

    题目: 判断101-200之间有多少素数,并输出所有素数. 程序分析: 判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除则表明次数不是素数,反之是素数.用else 可以进一步简化代 ...

  8. Python删除list里面的重复元素的俩种方法

    1.使用set函数  In [116]: a=[1,2,3,2,1,3,4,5,6,5] In [117]: set(a) Out[117]: {1, 2, 3, 4, 5, 6} 2.使用字典函数 ...

  9. Springboot通过cors解决跨域问题(解决spring security oath2的/oauth/token跨域问题)

    @Bean public CorsFilter corsFilter() { final UrlBasedCorsConfigurationSource source = new UrlBasedCo ...

  10. 【问题解决方案】Dev C++ 无法调试的问题与解决

    听翁恺老师课的时候用到一个叫DevC++的编辑器. 学到调试部分的时候,老师的没问题我的报错.我?? 试一试网上查到的方法: 工具 --> 编译选项 --> 代码生成/优化 --> ...