1.流程

 1. stark组件

  1. 启动

  2.注册

  3.url设计

  4.视图函数设计

    1.展示数据头
    2.展示数据
    3.list_display功能实现
    4.list_display_links 功能实现
    5.自定义添加类
    6.批量操作actions
    7.搜索功能
    8.分页功能
    9.过滤功能
    10.pop功能

 2. 权限管理    

  1. 中间件对访问URL控制(正则,白名单)

     2.session存储权限信息,权限信息的展示  

 3. CRM业务逻辑

  1.初始化数据

    通过actions实现

  2.考勤   

    0.actions 
    1.form表单保存法
    2.select选择ajax法

  3.录入成绩    

    1.ajax
    2.form表单保存法

  4.学生查看成绩 

    通过班级学习记录表生成一个字段点击新生成html和url

    通过highcharts生成表成绩 

2.功能点

3.知识点

  1.choices=[(1,'男'),(2,'女')],根据ID获取对应的字段值

    user_obj.get_gender_display()

    

  2. limit_choices_to 限定字段关联范围

  

  

  3. 对含choices选项的字段在list_view中不能显示,可以通过自定义列解决:

  

  4. 修改学生成绩,巧妙设计url,针对单表设计二级URL

    在默认配置类中定义函数extra_url(),返回空列表[],extends添加至二级列表temp中,

    学生学习记录配置类中定义extra_url(),添加相应二级URL

  

  

  5. templates模板文件查找顺序:

  

  6.什么是web访问权限控制:

    就是含正则表达式的URL

  7.orm外键查询

    不管是外键、还是多对多,既可以通过dept__id=1也可以通过dept =1查询

  8.ORM跨表通过字段或双下划线查询总结

    正向查询:

      对象:直接就是字段名

      双下划线:就是字段名__title

    反向查询:

      没定义related_name:

        对象:表名_set

        双下划线:表名__XX

      定义了related_name

        对象:related_name_set

        双下划线:related_name__XX

 

  9.Q查询新用法

    

        

    默认多条件为且的关系

    里边是二元元组,第一个是字段条件,第二个是值,中间只是省略了引号而已。

  10.保存搜索条件:

    

  11.模型表的_meta获取模型名、App名等属性,通过反射获取表对象的字段值

    

  11.make_safe 函数 不让html代码转义

  

  12. 两个简单语法应用

    request.is_ajax():是否是ajax请求;

    rsplit('_',1):从右开始以_号分割,分割一次

    

    

python全栈开发day87~91-整个流程梳理、CRM功能、知识点梳理的更多相关文章

  1. python全栈开发-Day2 布尔、流程控制、循环

    python全栈开发-Day2 布尔 流程控制 循环   一.布尔 1.概述 #布尔值,一个True一个False #计算机俗称电脑,即我们编写程序让计算机运行时,应该是让计算机无限接近人脑,或者说人 ...

  2. Python全栈开发之---输入输出与流程控制

    Python简介 python是吉多·范罗苏姆发明的一种面向对象的脚本语言,可能有些人不知道面向对象和脚本具体是什么意思,但是对于一个初学者来说,现在并不需要明白.大家都知道,当下全栈工程师的概念很火 ...

  3. Python全栈开发【基础一】

    Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...

  4. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

  5. 老男孩最新Python全栈开发视频教程(92天全)重点内容梳理笔记 看完就是全栈开发工程师

    为什么要写这个系列博客呢? 说来讽刺,91年生人的我,同龄人大多有一份事业,或者有一个家庭了.而我,念了次985大学,年少轻狂,在大学期间迷信创业,觉得大学里的许多课程如同吃翔一样学了几乎一辈子都用不 ...

  6. python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)

    昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...

  7. 学习笔记之Python全栈开发/人工智能公开课_腾讯课堂

    Python全栈开发/人工智能公开课_腾讯课堂 https://ke.qq.com/course/190378 https://github.com/haoran119/ke.qq.com.pytho ...

  8. python全栈开发目录

    python全栈开发目录 Linux系列 python基础 前端~HTML~CSS~JavaScript~JQuery~Vue web框架们~Django~Flask~Tornado 数据库们~MyS ...

  9. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

随机推荐

  1. Delta DVP 系列 PLC 各装置 Modbus 地址

    此Modbus地址表以 1 为基础地址 Device Range Type DVP address (Hex) Modbus address (Dec) Effective ES/EX/SS SA/S ...

  2. Spring MVC全局异常处理

    继承HandlerExceptionResolver接口实现自己的处理方法,如: public class MyHandlerExceptionResolver implements HandlerE ...

  3. $Djangon admin界面 添加表 增删查改

    from django.contrib import admin表变中文 class Meta: verbose_name_plural='评论表' null=True的字段:admin创建要求写可以 ...

  4. mysql5.7 闪回数据(update delete insert)

    本次测试用Myflash闪回dml操作,有个前提条件是log_bin开启并且log模式是row: mysql> show global variables like "binlog%& ...

  5. JGroups

    JGroups Developer(s) Bela Ban Stable release 4.0.10.Final / February 1, 2018 Written in Java Operati ...

  6. IntelliJ IDEA插件 - ApiDebugger

    IntelliJ IDEA插件 - ApiDebuggerApiDebugger,是一个开源的接口调试IntelliJ IDEA插件,具有与IDEA一致的界面,无需切换程序即可完成网络API请求,让你 ...

  7. 来,了解一下Java内存模型(JMM)

    网上有很多关于Java内存模型的文章,在<深入理解Java虚拟机>和<Java并发编程的艺术>等书中也都有关于这个知识点的介绍.但是,很多人读完之后还是搞不清楚,甚至有的人说自 ...

  8. Confluence 6 降级你的许可证

    如果你决定降级你 Confluence 的许可证而削减你的许可证开支,你需要确定当前已经直排的用户许可证数量(在用户许可证页面中)要少于你希望应用的新的许可证的允许用户数量,在你应用新许可证的时候. ...

  9. selenium怎么操作web页面常见的元素

    总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio box ...

  10. java----面对对象

    面对对象: public class Demo { public static void main(String[] args){ Horse h = null; h = new Horse(); / ...