利用Django框架如何实现请求生命周期

  介绍

利用Django框架如何实现请求生命周期?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

先看一张图吧!

利用Django框架如何实现请求生命周期

<强> 1,请求生命周期

——wsgi,他就是插座服务端,用于接收用户请求并将请求进行初次封装,然后将请求交给web框架(烧瓶,Django)

——中间件,帮助我们对请求进行校验或在请求对象中添加其他相关数据,例如:csrf,请求。会话

——路由匹配

——视图函数,在视图函数中进行业务逻辑的处理,可能涉及到:orm,模板=比;渲染

——中间件,对响应的数据进行处理。

——wsgi将响应的内容发送给浏览器。

<强> 2,什么wsgi

wsgi: web服务网关接口

实现该协议的模块:

    <李>——wsgiref(测试版本,性能特别差)李 <李> - werkzurg李 <李> - uwsig李

wsgiref示例:

。simple_server进口make_server
  
  start_response def run_server(环境):
  start_response(& # 39; 200好# 39;,((& # 39;内容类型# 39;& # 39;text/html # 39;)))
  返回[字节(& # 39;& lt; h2>你好,web ! & lt;/h2> & # 39;,编码=& # 39;utf - 8 # 39;),] #字节
  
  
  if __name__==& # 39; __main__ # 39;:
  httpd=make_server(& # 39; 127.0.0.1 # 39; 8000年,run_server)
  httpd.serve_forever () 

werkzeug示例:

。包装器进口反应
  从werkzeug。服务导入run_simple
  
  start_response def run_server(环境):
  响应=响应(& # 39;你好# 39;)
  返回响应(围住,start_response) #对象
  
  if __name__==& # 39; __main__ # 39;:
  run_simple(& # 39; 127.0.0.1 # 39; 8000年,run_server) 

<强> 3,视图FBV

url -函数

cb v

都未

url -视图

FBV(函数基本视图)cb v与(阶级基础视图)都未本质是一样的,只是FBV基于函数、CBV基于类。只不过FBV cb v较往都未后多执行了几步。

<强> 4,rest-framework

rest-framework从派遣方法开始介入,执行完视图,如果有rest-framework组件,就执行rest-framework。

<强> 5,restfui规范

查看restful规范详情

关于利用Django框架如何实现请求生命周期问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

利用Django框架如何实现请求生命周期