django复习

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
    - 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班主任)

你可能感兴趣的:(django复习)