zoukankan      html  css  js  c++  java
  • Django框架请求生命周期

    先看一张图吧!

     1、请求生命周期

    • - wsgi, 他就是socket服务端,用于接收用户请求并将请求进行初次封装,然后将请求交给web框架(Flask、Django)

    • - 中间件,帮助我们对请求进行校验或在请求对象中添加其他相关数据,例如:csrf、request.session

    • - 路由匹配

    • - 视图函数,在视图函数中进行业务逻辑的处理,可能涉及到:orm、templates => 渲染

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

    • - wsgi,将响应的内容发送给浏览器。

    2、什么wsgi

    wsgi:web服务网关接口

     实现该协议的模块:
     - wsgiref(测试版本,性能特别差)
     - werkzurg
     - uwsig

    wsgiref示例:

    from wsgiref.simple_server import make_server
    
    def run_server(environ, start_response):
    	start_response('200 OK', [('Content-Type', 'text/html')])
    	return [bytes('<h1>Hello, web!</h1>', encoding='utf-8'), ]  #字节
     
     
    if __name__ == '__main__':
    	httpd = make_server('127.0.0.1', 8000, run_server)
    	httpd.serve_forever()
    

    werkzeug示例:  

    from werkzeug.wrappers import Response
    from werkzeug.serving import run_simple
    
    def run_server(environ, start_response):
    	response = Response('hello')
    	return response(environ, start_response)     #对象
    
    if __name__ == '__main__':
    	run_simple('127.0.0.1', 8000, run_server)

    3、视图

    •  FBV

    url - 函数

    •  CBV

     url - view

    FBV(function base view)与CBV(class base view)本质是一样的,只是fbv基于函数,cbv基于类。只不过fbv较cbv往后多执行了几步。

    4、rest-framework

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

    5、restfui规范

    查看restful规范详情。。

  • 相关阅读:
    软件工程第一次作业
    邮件服务器的搭建
    将博客搬至CSDN
    古典密码加密解密之多表代换
    Nginx + Tomcat 负载均衡配置详解
    openstack i版搭建教程
    IIS、apache、tomcat服务器虚拟主机配置
    SMTP邮件发送命令
    hadoop集群安装
    信息管理系统(java)
  • 原文地址:https://www.cnblogs.com/gaoya666/p/9100626.html
Copyright © 2011-2022 走看看