django复习
tips
python3中字符串是unicode,字节是将unicode编码后的utf或gbk字节串
python2中的字符串就是python3中的字节,u(字符串)表示unicode字符串
基本数据类型
函数及嵌套
面向对象三大特性
mysql 设计表 索引 函数 视图 触发器
进程线程协程的区别
前端 jquery bootstrap
django必须的,示例程序独立完成。
HTTP知识
djaogo请求生命周期
Django知识点
路由规则
- /index/
- /index/\d+
- /index/(\d+)
- /index/?P<name(\d+)>
- include
- 反向生成url
- {% url "" %}
- reverse('a1',args = (1,2,3))
视图函数
请求相关
响应相关
模板语言
if for
索引
执行:不加括号自动执行函数
filter和simple_tag
ORM操作
创建表
类 继承 models.Model
字段 Inter Char Foreign MantToMany
操作表
增
删
改
查
补充:
fliter传参:
a=1,b=2
**{}
Q()|Q()
values:
values_list:
all/values/values_list:
双下划綫跨表查询:
正向:
反向:
需求写代码
内容详细:
1 数据类型
2 函数
3 面向对象三大特性
4 socket:本质传输字节。所有网络通信都基于socket
5 数据库设计:单表,foreignkey,manytomany (作业:自己熟悉的领域设计表)
6 会用:html/css/js/jquery/bootstrap
7 http知识
基于socket
浏览器(格式一)
web服务器(格式一)
MYSQL客户端(pymysql)(格式二)
MYSQL服务端(mysqld)(格式二)
本质:
socket = socket,socket()
socket.connect(ip,port)
socket.sendall(b'78asdas') #格式
浏览器发送GET请求的数据格式:
socket.sendall(b'GET /index/?name=aa&sex=bb http1.1\r\nAccept:text/html\r\nAccept-Encoding:gzip, deflate\r\n\r\n')
浏览器发送POST请求的数据格式:
POST请求也可以在url上传参
socket.sendall(b'GET /index/?name=aa&sex=bb http1.1\r\nAccept:text/html\r\nAccept-Encoding:gzip, deflate\r\n\r\na1=1&a2=2&a3=3')
django加工POST请求的数据:
读取请求头content-type:application/x-www,那么解析request.body里的内容,放到request.POST中
request.body | b'a1=1&a2=2&a3=3' | b'a:1;b:2' |
---|---|---|
request.POST | {'a1’:!,'a2':2,'a3':3} | 空 |
http协议
-请求头之间:\r\n
-请求头与请求体:\r\n\r\n
-GET请求无请求体
-无状态,短链接:socket请求响应断开
-请求头代表的意义
User-Agent:用户代理,请求来源设备
referer:防盗链
content-type:判断请求体是什么格式
响应头:response headers
Django的生命周期:
wsgi协议:web服务网关接口
模块:wsgiref uwsgi
路由系统:
/index/ views.func
/index/\d+ views.func
/index/ views.include()
视图函数:
FBV function based view
CBV class based view
ORM
models <=> sql
template
html/css 渲染
注意:
渲染工作在Django中执行完毕之后,字符串返回给浏览器。
遇到js /css等再发一次请求,不会渲染,仅返回静态文件。
问题
TemplateDoesNotExist
写错误
静态文件404
作业:
- 员工
- 设计能力
- 需求:
- 学生,老师,班主任,班级
- 班主任,讲师有用户名和密码
- 创建表
- 具体功能:
- 除登陆页面,不登录不能访问(装饰器)
- 老师列表页面,增删改查,查看详情
- 班级列表
- 学生列表
学生 | 一对多 | 班级 |
老师 | 多对多 | 班级 |
班主任 | 一对多 | 班级 |
学生,老师,班主任 | 一对一 | 用户 |
学生:ID 姓名 班级ID 用户ID
老师:ID 姓名 用户ID
班主任:ID 姓名 班级ID 用户ID
班级:ID 名字
老师_班级:ID 老师ID 班级ID
用户:ID 账号 密码 是否为管理员 角色(0未定义,1学生 2老师 3班主任)