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):从右开始以_号分割,分割一次