目录

  • 1 django的中间件最多可以写几个方法?
  • 2 使用中间件做什么?
  • 3 csrf中间件的使用方法
    • 3.1为什么使用csrf中间件
    • 3.2如何使用?
      • 3.2.1view视图里面是直接写方法,如何使用csrf?
      • 3.2.2view视图里面写类,如何使用csrf?

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

最多5个

2 使用中间件做什么?

3 csrf中间件的使用方法

3.1为什么使用csrf中间件

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

3.2如何使用?

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

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

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

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

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

'django.middleware.csrf.CsrfViewMiddleware',

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

from django.views.decorators.csrf import csrf_protect,csrf_exempt

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

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

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


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

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

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

  1. python django面试题(第八章)

    第八章 django 1. 简述http协议和常用请求头 http协议是超文本传输协议 常用请求头: 协议头 说明 Accept 可接受的响应内容类型 Accept-Charset 可接受的字符集 A ...

  2. python django面试题_Django面试问题

    1. 对Django的认识? #1.Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构.以及全功能的管理后台. #2.Dja ...

  3. python django面试题_Django、Python常见面试题

    一.django 1.中间件 中间件一般做认证或批量请求处理,django中的中间件,其实是一个类,在请求和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法, 如请求过来 执行p ...

  4. django render_2020年最新Django经典面试问题与答案汇总(下)大江狗整理

    终于我们来到Django经典面试问题与答案系列的终章了,在本章我们将分享最后10个常用有用的知识点,也是面试时常问的经典问题.如果你还没有读过本系列前两篇文章的,可以点击如下链接阅读. 2020年最新 ...

  5. Django讲课笔记02:Django环境搭建

    文章目录 零.本讲学习目标 一.课程导入 (一)BSD.MVC.MVT (二)Django特点 二.新课讲授 (一)相关概念 1.Web框架 2.WSGI 3.两级结构 4.三级结构 5.反向代理的好 ...

  6. django第一章(django配置相关和简单的登录实例)

    django下载 下载有两种方式,一个是命令行,一个是pycharm自带的. 1. 命令行 pip install django==1.11.18 -i https://pypi.douban.com ...

  7. Django知识点:认识Django

    web开发 1.web全球广域网,万维网,给用户提供可视化页面 web前端开发:是对页面的开发,为了给用户提供更好的页面 web后端开发:给页面提供数据支持,处理用户的请求,处理用户的业务逻辑 req ...

  8. django官方文档——django中的用户认证

    Django 中的用户认证¶ Django 自带一个用户认证系统,这个系统处理用户帐户.组.权限和基于 cookie 的会话.本文说明这个系统是如何工作的. 概览¶ 认证系统由以下部分组成: 用户 权 ...

  9. 【Python/Web】Django(一)Django框架的配置和使用

    序章 Python下面有许多受欢迎的web框架,例如Flask.Twisted等,Django也不例外.许多成功的网站都是基于Django,Django作为一个开源的Web应用框架,采用了 MVT 的 ...

  10. html显示数据库图片django,django将图片上传数据库后在前端显式的方法

    1.使用ImageField先安装pillow模块 pip install pillow 2.在app的models中设置 class Image(models.Model): pic_name=mo ...

最新文章

  1. RDKit:化合物亚结构(Substructure)搜索(基于Python3)
  2. 关于vmstat,top,ps aux查看的cpu占用率不一致的问题
  3. 【Linux 内核 内存管理】内存管理架构 ④ ( 内存分配系统调用过程 | 用户层 malloc free | 系统调用层 brk mmap | 内核层 kmalloc | 内存管理流程 )
  4. 成功解决ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or
  5. win查看php 启动状态,windows上如何查看nginx是否启动
  6. php coder 乱码,MySQL 乱码 与 字符集
  7. CSDN积分获得途径
  8. 2020年中国人口出生率为8.52‰,首次跌破10‰,创下1978来新低
  9. 【经验】SQL Server 2008 R2 安装教程
  10. Let's encrypt 通配域名(二级, 三级)
  11. Android Studio 文件名颜色代表含义
  12. php开发的在线客服系统,全开源无加密,支持微信客服对接
  13. 邮件服务器专用术语,邮件群发中的常见术语
  14. 计算机平均数据传输速率怎么算,如何计算总线数据传输速率
  15. Lenovo T460 Fn功能键切换
  16. 20-40-60法则
  17. 钉钉RC版H5页面调试
  18. 同花顺趋势启动,低位启动 趋势指导指标源码
  19. 计算机音乐数字乐谱牵丝戏,天谕手游牵丝戏乐谱代码是什么-天谕手游牵丝戏乐谱代码分享_快吧手游...
  20. 【JVM】G1(Garbage First)垃圾收集器的原理与应用场景

热门文章

  1. win11 edge怎么卸载?win11 edge浏览器彻底卸载的方法教程
  2. 小米官网服务器维修无法刷机,小米手机无法刷机的解决方法
  3. 小米android手机怎么刷机,小米4手机怎么刷机 小米4刷机图文教程
  4. js 封装websocket (包括心跳检测,断线重连等)
  5. 实时音频编解码之七 预加重
  6. python编解码的字节与字符串相互转换
  7. Spring 事务和事务传播机制
  8. Fall 2020 Berkeley cs61a hw02答案
  9. app源码 官府菜.cn_坑死的天牛淘客APP
  10. 数据分析——天猫用户购买行为分析