Django面试题(一)django的中间件最多可以写几个方法?使用中间件做什么?
目录
- 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的中间件最多可以写几个方法?使用中间件做什么?相关推荐
- python django面试题(第八章)
第八章 django 1. 简述http协议和常用请求头 http协议是超文本传输协议 常用请求头: 协议头 说明 Accept 可接受的响应内容类型 Accept-Charset 可接受的字符集 A ...
- python django面试题_Django面试问题
1. 对Django的认识? #1.Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构.以及全功能的管理后台. #2.Dja ...
- python django面试题_Django、Python常见面试题
一.django 1.中间件 中间件一般做认证或批量请求处理,django中的中间件,其实是一个类,在请求和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法, 如请求过来 执行p ...
- django render_2020年最新Django经典面试问题与答案汇总(下)大江狗整理
终于我们来到Django经典面试问题与答案系列的终章了,在本章我们将分享最后10个常用有用的知识点,也是面试时常问的经典问题.如果你还没有读过本系列前两篇文章的,可以点击如下链接阅读. 2020年最新 ...
- Django讲课笔记02:Django环境搭建
文章目录 零.本讲学习目标 一.课程导入 (一)BSD.MVC.MVT (二)Django特点 二.新课讲授 (一)相关概念 1.Web框架 2.WSGI 3.两级结构 4.三级结构 5.反向代理的好 ...
- django第一章(django配置相关和简单的登录实例)
django下载 下载有两种方式,一个是命令行,一个是pycharm自带的. 1. 命令行 pip install django==1.11.18 -i https://pypi.douban.com ...
- Django知识点:认识Django
web开发 1.web全球广域网,万维网,给用户提供可视化页面 web前端开发:是对页面的开发,为了给用户提供更好的页面 web后端开发:给页面提供数据支持,处理用户的请求,处理用户的业务逻辑 req ...
- django官方文档——django中的用户认证
Django 中的用户认证¶ Django 自带一个用户认证系统,这个系统处理用户帐户.组.权限和基于 cookie 的会话.本文说明这个系统是如何工作的. 概览¶ 认证系统由以下部分组成: 用户 权 ...
- 【Python/Web】Django(一)Django框架的配置和使用
序章 Python下面有许多受欢迎的web框架,例如Flask.Twisted等,Django也不例外.许多成功的网站都是基于Django,Django作为一个开源的Web应用框架,采用了 MVT 的 ...
- html显示数据库图片django,django将图片上传数据库后在前端显式的方法
1.使用ImageField先安装pillow模块 pip install pillow 2.在app的models中设置 class Image(models.Model): pic_name=mo ...
最新文章
- RDKit:化合物亚结构(Substructure)搜索(基于Python3)
- 关于vmstat,top,ps aux查看的cpu占用率不一致的问题
- 【Linux 内核 内存管理】内存管理架构 ④ ( 内存分配系统调用过程 | 用户层 malloc free | 系统调用层 brk mmap | 内核层 kmalloc | 内存管理流程 )
- 成功解决ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or
- win查看php 启动状态,windows上如何查看nginx是否启动
- php coder 乱码,MySQL 乱码 与 字符集
- CSDN积分获得途径
- 2020年中国人口出生率为8.52‰,首次跌破10‰,创下1978来新低
- 【经验】SQL Server 2008 R2 安装教程
- Let's encrypt 通配域名(二级, 三级)
- Android Studio 文件名颜色代表含义
- php开发的在线客服系统,全开源无加密,支持微信客服对接
- 邮件服务器专用术语,邮件群发中的常见术语
- 计算机平均数据传输速率怎么算,如何计算总线数据传输速率
- Lenovo T460 Fn功能键切换
- 20-40-60法则
- 钉钉RC版H5页面调试
- 同花顺趋势启动,低位启动 趋势指导指标源码
- 计算机音乐数字乐谱牵丝戏,天谕手游牵丝戏乐谱代码是什么-天谕手游牵丝戏乐谱代码分享_快吧手游...
- 【JVM】G1(Garbage First)垃圾收集器的原理与应用场景