• Django--CRM-客户列表展示, 分页


    一 . 客户列表展示

      为了插入数据方便,我们可以用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文件/类

      

      

      

      

      

      

  • 相关阅读:
    [BTS2004]一步一步学习BizTalk2004 CBR(contentbased routing)
    [BTS06]BizTalk2006 SDK阅读笔记(六) 定义流程
    [JS]收藏
    [BTS06]BizTalk2006 SDK阅读笔记(七) 管理与监控
    [C#]关于调用Office应用程序后,程序不退出的问题
    [JS]让表单提交返回后保持在原来提交的位置上
    [BTS][收藏]啥时候用BTS,啥时候用WF,就看这里。
    [BTS06]BizTalk2006 SDK阅读笔记(一) 角色
    [BTS]BizTalk学习之Functoid篇(Database Lookup)
    [LCS]半个月的成果,用RTCClient开发的Robot!
  • 原文地址:https://www.cnblogs.com/attila/p/10527173.html
Copyright © 2020-2023  润新知