• django内容补充与git使用


    1、HTTP请求本质
    Django程序:socket服务端a、
    服务端监听IP和端口
    浏览器:socket客户端
     
    b、浏览器发送:
    GET请求:
     
    POST请求:
    post有请求体,get没有
    上图为wsgiref做的事情。
    上图为django生命周期。
    在url上加上html造成伪静态页面:
    如上图,fbv和cbv
    fbv在views中对应函数
    cbc在views中对应类
    get请求执行get函数
    post请求执行post函数
    随便写一个页面
    如果提交表单,只支持GET和POST,ajax支持上面所有方法,在type中写
     
     
    restful规范
     
    请求到了之后不是直接运行get或POST函数,而是到了dispatch方法,在views父类中
     
     
     
     
     
     
     
    如上图,将登陆写到一个类里通过dispatch的过程验证登录,其他的功能直接继承这个类就好了。
     
    装饰器
     
     
    装饰器必须导入上面的。
     
     
     
    装饰器有三种位置
    1 get 或post前面
    2 类的前面(必须加name)
    3 dispatch前面 (csrf token只能加到这里)
     
     
    如上图,在dispatch前加
     
     
    如上图,也可以在class前加装饰器,但必须加上name
     
     
     
     
     
     
    上图为写中间件,还要在settings中注册一条。
    上图为向后兼容方式写中间件。写中间件必须有返回值,不然浏览器会接收不到。
     
    如上图
    如上图和上上图,如果直接写response了,那么客户端的访问当走到这个中间件的时候就会直接返回了。
    上图为process_view执行流程,
    先将所有中间件的request跑一遍,找到了路由匹配之后,再将所有process_view跑一遍,最后倒着将response跑一遍。
     
    如下图,如果在process_view中有返回值则直接到最后一个中间件,执行所有的response
    如上图,在中间件中写上exception,如果报错的话输出返回内容。默认不执行。
     
    上图为完整流程。蓝色箭头为,如果报错,exception有处理,则返回来重新返回所谓的友好界面给浏览器。
    如上图,上上图和上上上图,如果返回对象里有render方法则执行。process_template_response,
    前提是views中返回一个render方法的对象。
     
     
     
    Git使用方法
     
     
    需要先安装Git-2.13.3-64-bit.exe
    git工作方式图
     
     
     
     
     
     
     
     
    如果从旧版本回到新版本需要如上操作,git reflog命令可以查看后面更新的版本,log只能看到之前的版本。
     
     
     
  • 相关阅读:
    1、如何使用Azure Rest API创建虚拟机
    Ansible---2的Roles使用
    linux下的shell脚本
    生成器 yield和协程
    xshell
    markdown的使用
    加密
    Hbuilder打包app
    尾递归
    jupyter
  • 原文地址:https://www.cnblogs.com/ArmoredTitan/p/7544683.html
Copyright © 2020-2023  润新知