Django框架工作流程(Python)

来源:互联网 发布:java实现链表反转 编辑:程序博客网 时间:2024/06/03 18:17

这里写图片描述

  • 1、浏览器发送请求request给web服务器;

  • 2、web服务器将请求转发给Django框架处理;
    (Django接收到第一个请求,会调用中间件的__init__方法,完成中间件的初始化)

  • 3、处理请求前调用proces_request(request),返回None或HttpResponse对象;

  • 4、通过URLconf匹配,确认请求由哪个视图处理;

  • 5、process_view(request,view_func,view_args,view_kwargs)在处理视图前调用,返回None或HttpResponse对象;

  • 6、视图接收到resquest;

    (1) 通过模型model与数据库交互,获取并处理数据,Model内嵌ORM框架,实现面向对象来操作数据库;
    (2) 模板引擎,实现动态展示数据,返回HttpResponse对象或者JsonResponse对象。

  • 7、视图处理响应后返回response,所有的response(包括process_request和process_view返回的response)在返回给Django前都会调用process_response(request,response),返回HttpResponse对象,除非做了特殊处理。

    (如果视图抛出异常,在每个请求上调用precess_exception(request,exception),返回None或HttpResponse对象。)