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

 

Django知识点梳理的更多相关文章

  1. Javascript重要知识点梳理

    Javascript重要知识点梳理 一.Javascript流程控制 js中常用的数据类型 var关键字的使用 if – else if – else switch while for 二.Javas ...

  2. Memcache知识点梳理

    Memcache知识点梳理 Memcached概念:    Memcached是一个免费开源的,高性能的,具有分布式对象的缓存系统,它可以用来保存一些经常存取的对象或数据,保存的数据像一张巨大的HAS ...

  3. python Django知识点总结

    python Django知识点总结 一.Django创建项目: CMD 终端:Django_admin startproject sitename(文件名) 其他常用命令: 其他常用命令: 通过类创 ...

  4. django知识点回顾与补充

    一.django知识点回顾 1.Cookie操作 - 客户端本地存储的键值对 2.Session操作 - 3.URL路由 - /index -> view.函数 4.MTV 5.View中返回方 ...

  5. Django 知识点补充

    Django 知识点补充 1 Django如何在Model保存前做一定的固定操作,比如写一条日志 (1)利用Django的Model的Signal Dispatcher, 通过django.db.mo ...

  6. [独孤九剑]Oracle知识点梳理(十)%type与%rowtype及常用函数

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  7. [独孤九剑]Oracle知识点梳理(九)数据库常用对象之package

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  8. [独孤九剑]Oracle知识点梳理(八)常见Exception

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  9. [独孤九剑]Oracle知识点梳理(七)数据库常用对象之Cursor

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

随机推荐

  1. Unity Shaderlab: Object Outlines 转

    转 https://willweissman.wordpress.com/tutorials/shaders/unity-shaderlab-object-outlines/ Unity Shader ...

  2. Jmeter干货 不常用却极其有用的几个地方

    1. Jmeter测试计划下Run Thread Groups consecutively 表示序列化执行测试计划下所有线程组中的各个请求 如下图配置,新建的测试计划中,不默认勾选此项, 而享用Jme ...

  3. 事后调试.VC_资料01

    1.windows中的调试_VC语言_编程开发B1_最全面的网站教程.html(http://study.qqcf.com/web/522/98401.htm) windows中的调试 1.事后调试有 ...

  4. Cordova 混合开发

    详细的教程在以下博客 https://blog.csdn.net/csdn100861/article/details/78585333

  5. win10新系统修改onedrive目录,提示找不到OneDrive目录

    win10不知更新了什么,x1c非常卡一跳一跳的,很多年没见过了-_-!!( 原因排查:http://www.cnblogs.com/xuanmanstein/p/8878180.html). 于是重 ...

  6. Qt的Radio Button(单选按钮)

    1 在UI界面中加入控件 2 对QRadioButton控件进行分组 QRadioButton的分组有多重方法,如采用组合框.QWidge等,下面介绍采用QButtonGroup方法来实现分组,好处是 ...

  7. H5多媒体(用面向对象的方法控制视频、音频播放、暂停、延时暂停)

    视频,音频播放器会是我们在工作中用到的一些h5新标签,它自带一些属性,比如暂停播放,快进快退,但是,我们经常不用原生的样式或者方法,我们需要自定义这些按钮来达到我们需要的样式,也需要我们自定义来实现一 ...

  8. Linux性能测试-FIO测试

    Fdisk –l 查看磁盘分区情况. df –h  磁盘挂载情况 wget http://brick.kernel.dk/snaps/fio-2.2.5.tar.gz yum install liba ...

  9. TypeError: atlas.getSpriteFrame is not a function

    1.资源结构如下: 2.在使用cc.loader.loadRes动态异步加载cc.SpriteAtlas资源时出现这个错误,代码如下: var self = this; var url = " ...

  10. Python 读写操作Excel —— 安装第三方库(xlrd、xlwt、xlutils、openpyxl)

    数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件.因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道. 如果仅仅是要以表单形式保存数据,可以借助 ...