Django囊括、杂糅了 前端、数据库、Python知识看起来比较复杂!

其实就是由http请求周期为主体,延伸出来的知识 。

 

 PythonWeb服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI。

 

对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。

0、服务端建成Djano项目等待客户端连接(WSGI)

web框架的本质就是socket套接字

 

1、客户端向服务端发送 request

  WSGI接收请求,接收请求(分割HTTP请求头 请求体 )解析之后送给Django处理----------------------------->博客链接http://www.cnblogs.com/sss4/p/7106084.html

  经过Django的中间件执行中间件的 (类)request方法

  经过服务端CSRF验证 ------------------->博客链接http://www.cnblogs.com/sss4/p/7106084.html

  自定义中间件等---------------------------->博客链接 http://www.cnblogs.com/sss4/p/7106033.html

 

2、客户端的request请求到达Django的路由系统(服务端)

   做url正则匹配------------------------------->http://www.cnblogs.com/sss4/p/7070949.html

(1)静态路由

(2)动态路由

(3)路由转发

(4)路由别名

 

3、客户端的request请求 经过路由系统转发到视图层

(1)视图层--------------------------------------------------->http://www.cnblogs.com/sss4/p/7011148.html

FBV(基于函数的视图)

CBV(基于类的视图层)

(2)设置session/cookie(http短连接、无状态 给到来的用户做标记) ---------------------->http://www.cnblogs.com/sss4/p/7071334.html

(3)模板渲染  ------------------------------->http://www.cnblogs.com/sss4/p/7071183.html                                   

特殊标记

流程控制

母版

include

自定义函数(simple-fifter/simple-tag)

 

(3)获取数据库数据------------------------>http://www.cnblogs.com/sss4/p/7070942.html

orm操作

单表操作

连表操作

orm满足不了就使用原生SQL

 

分页:数据不能全部显示到前端,需要分页,定量。---------------------------http://www.cnblogs.com/sss4/p/7082713.html

生成CSRFtoken随机字符串,添加到form表单 ------------------------------------------>http://www.cnblogs.com/sss4/p/7106084.html

 

(4)Form组件动态生成HTML标签(渲染到模板发送给客户端)

 

(5)最后耦合模板和数据库数据

 

4、服务端视图层执行完毕后开始 response字符串  经过 中间件的 response方法  发送到WSGI

 WSGI接收到response的请求体和请求头,把请求内容发送给客户端

客户端再次发生跨域请求其他域名------------------------------------------->http://www.cnblogs.com/sss4/p/7137032.html

 

 

posted on 2017-07-02 18:53  Martin8866  阅读(569)  评论(0编辑  收藏  举报