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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 11,515评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,634评论 19 139
  • 新年和老朋友叙旧,地点是汉街上的某个甜品店。或是日子太苦了,我们都喜欢吃甜的。 一、旧友新愁 她在上海的某个知名的...
    成礼阅读 3,880评论 2 3
  • 塔 遗世而独立 装饰不过被顽风嬉弄发出轻吟的塔铃 我却喜顿足远观 不愿靠近亵玩 保持着两者心照不宣的距离我不喜别人...
    想起北方一只鸟阅读 2,548评论 0 0
  • 我是谁?有时候会问自己,我还是那个小时候爱打抱不平的侠女吗?曾记得,我们班的一个男生经常被别的男生欺负,我就特别...
    花香001阅读 793评论 0 0