zoukankan      html  css  js  c++  java
  • 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只能看到之前的版本。
     
     
     
  • 相关阅读:
    GTK+ 3.6.2 发布,小的 bug 修复版本
    RunJS 新增 Echo Ajax 测试功能
    Mozilla 发布 Popcorn Maker,在线创作视频
    Sina微博OAuth2框架解密
    Mina状态机State Machine
    Mozilla 发布 Shumway —— 纯JS的SWF解析器
    Code Browser 4.5 发布,代码浏览器
    ROSA 2012 "Enterprise Linux Server" 发布
    ltrace 0.7.0 发布,程序调试工具
    Artifactory 2.6.5 发布,Maven 扩展工具
  • 原文地址:https://www.cnblogs.com/ArmoredTitan/p/7544683.html
Copyright © 2011-2022 走看看