#前言。学完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协议封装响应数据。返回给游览器,自此结束。