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