Django的生命周期就是你的 一个请求所发生的整个流程

Django的生命周期内到底发生了什么呢??

. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端
请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post,体现在url之中. . url经过Django中的wsgi,再经过Django的中间件,最后url到过路由映射表,在路由中一条一条进行匹配,
一旦其中一条匹配成功就执行对应的视图函数,后面的路由就不再继续匹配了.
. 视图函数根据客户端的请求查询相应的数据.返回给Django,然后Django把客户端想要的数据做为一个字符串返回给客户端.
. 客户端浏览器接收到返回的数据,经过渲染后显示给用户

首先: wsgi     -------->中间件----------->路由系统----------->视图函数------------> 模板和orm  --------------->返回给请求者

wsgi:  是web服务网关接口,一套协议

这套协议的实现是wsgi这个模块来实现 它内部封装了soccet来实现

  django中实现wsgi的模块有: wsgiref  和uwsgi模块

中间件:

路由系统就是django中的url

视图函数:就是views

模板是:template中的前端界面

orm   是你的django去操作你的数据库中的内容

wsgi是一个协议 是http协议

CSRF_TOKEN

可以理解为 ,为了防止非法的登陆  预防黑客登陆  因为是先要get请求然后 给你的get发送一个随机字符串 然后你下一次的post请求的时候必须要带着这个随机字符串 不然就会不让你访问,

防止黑客什么的直接post来进入

FBV模式和CBV模式:

FBV: 一个url对应一个视图函数

CBV:一个url对应一个类

一个url对应一个视图函数,这个模式叫做FBV(Function Base Views)

除了FBV之处,Django中还有另外一种模式叫做CBV(Class Base views),即一个url对应一个类

我们经常写的直接定义函数的就是FBV

CBV是类的形式:但是这个类需要继承一个View 并且你的url内也的写法也不一样需要用到as_view

CBV 需要注意定义一定要继承views.View注册路由一定要写 类名.as_view()

CBV的 urls:

from django.conf.urls import url
from django.contrib import admin
from app01 import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'Index/',views.Index.as_view), ]
# CBV  就是先导入views然后继承它 然后  把post和get放在两个方法中
from django import views class Index(views.View): def get(self,request): # 如果是get操作的时候
return render(request,'index.html') def post(self,request):
return HttpResponse('ok')

Django中请求的生命周期 和 FBV模式和CBV模式的更多相关文章

  1. Django中请求的生命周期

    1. 概述 首先我们知道HTTP请求及服务端响应中传输的所有数据都是字符串. 在Django中,当我们访问一个的url时,会通过路由匹配进入相应的html网页中. Django的请求生命周期是指当用户 ...

  2. [oldboy-django][2深入django]django一个请求的生命周期 + WSGI + 中间件

    1 WSGI # WSGI(是一套协议,很多东西比如wsgiref, uwsgiref遵循这一套协议) - django系统本质 别人的socket(wsgiref或者uwsgiref) + djan ...

  3. 05.Django-form表单与请求的生命周期

    Django中请求的生命周期 HTTP请求及服务端响应中传输的所有数据都是字符串 步骤 用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务器 url经过wsgi和中间件,到达路由映射表,在 ...

  4. django请求的生命周期

    1. 概述 首先我们知道HTTP请求及服务端响应中传输的所有数据都是字符串. 在Django中,当我们访问一个的url时,会通过路由匹配进入相应的html网页中. Django的请求生命周期是指当用户 ...

  5. python---django请求-响应的生命周期(FBV和CBV含义)

    Django请求的生命周期是指:当用户在访问该url路径是,在服务器Django后台都发生了什么. 客户端发送Http请求给服务端,Http请求是一堆字符串,其内容是: 访问:http://crm.o ...

  6. Django生命周期,FBV,CBV

    一. Django生命周期 首先我们知道HTTP请求及服务端响应中传输的所有数据都是字符串,在Django中,当我们访问一个的url时,会通过路由匹配进入相应的html网页中.Django的请求生命周 ...

  7. Envoy 代理中的请求的生命周期

    Envoy 代理中的请求的生命周期 翻译自Envoy官方文档. 目录 Envoy 代理中的请求的生命周期 术语 网络拓扑 配置 高层架构 请求流 总览 1.Listener TCP连接的接收 2.监听 ...

  8. Djngo 请求的生命周期

    1.Django请求的生命周期 路由系统 -> 试图函数(获取模板+数据=>渲染) -> 字符串返回给用户 2.路由系统 /index/ -> 函数或类.as_view() / ...

  9. Minor【 PHP框架】2.第一个应用与请求的生命周期

    框架Github地址:github.com/Orlion/Minor (如果觉得还不错给个star哦(^-^)V) 框架作者: Orlion 知乎:https://www.zhihu.com/peop ...

随机推荐

  1. 关于c#中”ref”和”out”关键字的一些理解

    一. 综述(本文内容大部分来自网络,经本人整理而成,仅供学习参考,不免理解错误,欢迎批评指正) 在c#中,方法的参数传递有四种类型: (1) 传值参数(by value) 传值参数无需额外的修饰符.传 ...

  2. wap webapp app区别

    “手机WAP版网站”.“手机触屏版网站”.“手机APP应用软件”: wap webapp app区别 电脑版:台式机或者笔记本访问,兼容各个浏览器: Wap版:用于传统智能手机,屏幕小,适合使用手机键 ...

  3. SPSS学习系列之SPSS Statistics的菜单栏介绍(图文详解)

    不多说,直接上干货! 以下是菜单栏 1.以下是文件栏: 2.以下是编辑栏 3.以下是查看栏   4.以下是数据栏: 5.以下是转换栏: 6.以下是分析栏: 7.以下是直销栏: 8.以下是图形栏: 9. ...

  4. tomcat监控工具probe

    probe官网:http://www.lambdaprobe.org/ 但是已经链接至github了:https://github.com/psi-probe/psi-probe 下载psi-prob ...

  5. PHP之mb_substr_count使用

    mb_substr_count (PHP 4 >= 4.3.0, PHP 5, PHP 7) mb_substr_count - Count the number of substring oc ...

  6. R语言列表list函数

    列表是R语言中的对象,它包含不同类型的元素,比如 - 数字,字符串,向量和另一个列表等.一个列表还可以包含一个矩阵或一个函数作为它的元素.使用list()函数创建列表. 创建一个列表 下面是一个例子来 ...

  7. SVD总结

    1.概述 我们先从实数域R开始说起,再延伸到复数域C上去,先列出一个表格,把实数域以及复数域中常见的矩阵及其性质概括如下: 表1 常见矩阵及其性质 我们知道实对称矩阵正交相似于对角阵,从而将一个方阵对 ...

  8. Python制作回合制手游外挂简单教程(下)

    引入: 接着上篇的博文,今天我们讲如何实现助人为乐 前期准备: 如何获取图片中指定文字的坐标? 我的思路是截取一个小区域,再根据小区域左上角的坐标获取中央坐标 例如: 获取坐上角的x和y坐标,测量x到 ...

  9. Ubuntu 安装 Caffe

    Caffe Caffe 安装(Python2 CPU版本) 参考博文https://blog.csdn.net/pangyunsheng/article/details/79418896 安装环境 U ...

  10. ++i? i++? i+=1? i=i+1? 何必纠结?

    前言 今天在牛客上看面经,看到一个问题:num++; num+=1; num = num +1; 哪个效率最高? 自从学习C语言开始,我就在纠结for语言应该写i++,还是++i,其实这个问题,可以通 ...