1、了解django运行流程

#前言。学完django基础之后。发现忘的比学的还快。于是赶紧过一遍。#

1、关于django结构

  

2、关于django运行流程。

简单说法:
  1、游览器输入url。进入服务。

  2、wsgi.py文件会调用settings.py文件(setting指定了很多东西。比如:允许哪些主机可以访问、安装指定的APP、安装指定的中间件、指定的模板目录、指定的数据库引擎、指定国际化、指定静态资源、加载路由规则等),在执行setting没有报错的情况下继续下一步。

  3、然后调用urls.py文件进行路由分发,然后二级或者三级路由会将地址映射到对应views。

  4、然后views进行对应的逻辑处理(如果涉及到数据库,则要调用model进行操作)。最后返回json。

  5、前端根据response进行对应页面渲染或者数据操作。

墨迹一点的说法:

  1、游览器输入url。进入服务。

  2、wsgi拿到请求

    *封装socket

    *按照http协议进行解包

  3、解包之后的数据给所有的中间件按照顺序执行一遍。(如果中间件返回HttpResponse,则直接返回,不走下面的流程)

  4、中间件执行完成之后把url进行路由分发后映射到对应的views。

  5、然后view进行对应的逻辑处理(如果涉及到数据库,则要调用model进行操作)。最后返回json

  6、根据response进行对应页面渲染或者数据操作。(这里指的是服务端渲染django模板数据)

  7、把响应数据给中间件执行(中间件请求和响应执行顺序和栈一样)

  8、中间件执行完成之后,wsgi按照http协议封装响应数据。返回给游览器,自此结束。

原文地址:https://www.cnblogs.com/cbslock/p/10130733.html