Django知识点梳理

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知识点梳理的更多相关文章
- Javascript重要知识点梳理
Javascript重要知识点梳理 一.Javascript流程控制 js中常用的数据类型 var关键字的使用 if – else if – else switch while for 二.Javas ...
- Memcache知识点梳理
Memcache知识点梳理 Memcached概念: Memcached是一个免费开源的,高性能的,具有分布式对象的缓存系统,它可以用来保存一些经常存取的对象或数据,保存的数据像一张巨大的HAS ...
- python Django知识点总结
python Django知识点总结 一.Django创建项目: CMD 终端:Django_admin startproject sitename(文件名) 其他常用命令: 其他常用命令: 通过类创 ...
- django知识点回顾与补充
一.django知识点回顾 1.Cookie操作 - 客户端本地存储的键值对 2.Session操作 - 3.URL路由 - /index -> view.函数 4.MTV 5.View中返回方 ...
- Django 知识点补充
Django 知识点补充 1 Django如何在Model保存前做一定的固定操作,比如写一条日志 (1)利用Django的Model的Signal Dispatcher, 通过django.db.mo ...
- [独孤九剑]Oracle知识点梳理(十)%type与%rowtype及常用函数
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
- [独孤九剑]Oracle知识点梳理(九)数据库常用对象之package
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
- [独孤九剑]Oracle知识点梳理(八)常见Exception
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
- [独孤九剑]Oracle知识点梳理(七)数据库常用对象之Cursor
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
随机推荐
- Linux 命令之split(将一个大文件根据行数平均分成若干个小文件)
把一个 txt 文件导入到 excel 中,但是 excel 单列支持的行数为 1048576,而我需要导入的 txt 文件总共有 7945674 ,我们无法一次性将整个 txt 文件里面的内容导入到 ...
- 中文字符串和UTF-8编码字符串相互转换
中文字符串和UTF-8编码字符串相互转换 //UTF字符转换 var UTFTranslate = { Change: function(pValue) { ) { ).replace(/(%u)(\ ...
- async函数对比Generator函数
首先定义一个读取文件的异步函数 var readFile = function(fileName){ return new Promise((resolve,reject)=>{ fs.read ...
- gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now
[root@Gris- FMIS2600bak]# tar -zxvf /home/oradata/FMIS2600DMP.tar.gz gzip: stdin: not in gzip format ...
- Java Object类及其equals方法
基本概念: Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入: Object类是所有Java类的祖先.每个类都使用 Object 作为超 ...
- CentOS7 上安装 Lua5.3
1.CentOS7默认已经安装了5.1.4 ①查看当前lua版本号:lua -v Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio ②查看lua和 ...
- JAVA基础知识总结:二十一
一.URL和URLConnection 1.HTTP 超文本传输协议 是一个应用层的协议 是一个被动的协议 只有客户端主动给服务端发送消息,服务端才会给客户端一个响应 2.URL 统一的资源定位符(网 ...
- bootstrap的渲染机制
bootstrap的渲染机制. http://www.cnblogs.com/djtao/p/5942620.html 源码解析: http://www.cnblogs.com/ahole/p/588 ...
- JavaScript学习第一天(一)
JavaScript介绍 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本 ...
- python中的静态方法、类方法、属性方法(福利:关于几种方法更好的解释)
该部分的三个属性都是高级方法,平时用的地方不是很多 一.静态方法 静态方法的使用不是很多,可以理解的就看一下,用的地方不是很多 class Dog(object): def __init__(self ...