前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django面试题(一)django的中间件最多可以写几个方法?使用中间件做什么?

Django面试题(一)django的中间件最多可以写几个方法?使用中间件做什么?

作者头像
一写代码就开心
发布2021-03-02 14:39:41
7220
发布2021-03-02 14:39:41
举报
文章被收录于专栏:java和python

django的中间件最多可以写几个方法?

最多5个

在这里插入图片描述
在这里插入图片描述

使用中间件做什么?

在这里插入图片描述
在这里插入图片描述

csrf中间件的使用方法

为什么使用csrf中间件

在django项目里面,我们为了保障项目的安全,一般是有csrf认证,就是前端要带csrf——token到后端,这样在后端验证通过之后,就可以走url的流程了。

如何使用?

django的setting里面有中间件的设置,在设置了csrf的中间件之后,所有 的我们写的view的视图在之前都需要验证csrf。 我们写的view视图,有两种方法,一种是直接写方法,一种是写类,类里面再写方法。

首先先说如果你的view视图里面是直接写方法,如何使用csrf。

view视图里面是直接写方法,如何使用csrf?

csrf的设置方式有两种,一个是中间件,一个是装饰器

中间件就是全局设置的,在setting里面设置csrf中间件,如下

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
'django.middleware.csrf.CsrfViewMiddleware',

装饰器的方式是,在方法上面写装饰器,有两种装饰器,一种是写了这个装饰器,走这个视图就不需要csrf发验证了,一种是写了之后就需要认证。具体代码如下

代码语言:javascript
复制
from django.views.decorators.csrf import csrf_protect,csrf_exempt

@csrf_protect : 写了这个需要认证 @csrf_exempt : 不需要认证了

view视图里面写类,如何使用csrf?

当view视图类里面的方法有很多,比如有abcd四个方法,现在在setting里面设置了csrf中间件,全部的方法都需要认证,但是b方法现在不想要认证咋办。可以这样做,步骤如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在自己写的类里面写一个dispact()方法,将装饰器写在他的上面。具体咋写看图里面

第二个是在类上面直接写,具体写法看下图

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/02/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • django的中间件最多可以写几个方法?
  • 使用中间件做什么?
  • csrf中间件的使用方法
    • 为什么使用csrf中间件
      • 如何使用?
        • view视图里面是直接写方法,如何使用csrf?
        • view视图里面写类,如何使用csrf?
    相关产品与服务
    消息队列 TDMQ
    消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档