django学习之类视图,中间件

一般情况下,我们以函数定义的视图,为函数视图。以类定义的视图叫做类视图。

函数视图便于理解,但是遇到多种http请求时,需要在一个函数中编写不同的业务逻辑。

定义完类视图之后还需要在urls中注册,配合路由时,需要类视图的as_view()方法。

url(r"^register/$", views.Register.as_view()),

2.类视图使用装饰器

给单个方法加装饰器,需要引入method_decorator装饰器。使用method_decorator转换为类视图可用的装饰器,然后将自己定义的装饰器写入其中。如下:

要装饰类视图中的所有方法除了装饰dispatch方法之外还可以在url配置中进行装饰

中间件:1.请求之后,视图函数处理之前;2.视图函数处理之后,返回之前

类似与flask中钩子函数。

定义:利用装饰器形式来写

中间件定义完之后需要在setting中进行注册

注册完中间件之后会对所有的应用视图函数都起作用,不管中间件定义在哪。如下:在classview.middleware.py中定义的my_middleware中间件,调用/users应用下的index方法时,也会起作用。

 

多个中间件注册时的执行顺序:

在请求视图函数前,中间件由上到下;

在请求视图函数后,中间件由下到上;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值