DBV和CBV单独去除csrf_token验证

csrf中间件原理

  django中间件最多有5种方法:

    process_request

    process_view

    process_response

    process_exception

    process_render_template

csrf中间件写在process_view中,用户请求过来经过process_request,走到路由,再走process_view,走process_view之前判断这个视图函数或者类有没有设置csrf,如果设置了免除csrf验证,则跳过中间件的执行。

  csrf全局关闭只需要注释中间件即可,但是局部如何免除csrf验证呢:

DBV:

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

# 当开启csrf中间件时,局部免除csrf验证
@csrf_exempt
def bookcreate(request):
    pass

# 当关闭csrf中间件时,局部开启csrf验证
@csrf_protect
def publish(request):
    pass

CBV:

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

@method_decorator(csrf_exempt, name="dispatch")
class BookView(views.View):
    def get(self, request):
        pass

原文地址:https://www.cnblogs.com/aizhinong/p/12563377.html

时间: 2024-11-05 22:22:56

DBV和CBV单独去除csrf_token验证的相关文章

Eclipse去除JavaScript验证错误

这篇文章主要是对Eclipse去除js(JavaScript)验证错误进行了介绍.在Eclipse中,js文件常常会报错.可以通过如下几个步骤解决 第一步: 去除eclipse的JS验证: 将windows->preference->Java Script->Validator->Errors/Warnings-> Enable Javascript Sematic validation前面的勾去掉; 第二步: 右键项目 -> properties -> Buil

去除Eslint验证

在使用vue-cli脚手架构建了webpack项目时,在开发过程中,Eslint验证过于严谨,会导致运行时出现大量错误,可以使用下面方法去除: 1.打开你生成的项目目录中的bulid—>webpack.base.conf.js删除如下代码: { test: /\.(js|vue)$/, loader: 'eslint-loader', enforce: 'pre', include: [resolve('src'), resolve('test')], options: { formatter:

vue-cli脚手架构建了项目如何去除Eslint验证(语法格式验证)

1.创建工程的时候,提示是否启用eslint检测的. Use ESLint to lint your code? No 2.在webpack.base.conf.js里面删掉下面: { test: /\.(js|vue)$/, loader: 'eslint-loader', enforce: 'pre', include: [resolve('src'), resolve('test')], options: { formatter: require('eslint-friendly-form

FBV和CBV区别

FBV和CBV区别 FBV 就是在视图里使用函数处理请求 fbv就是在url中一个路径对应一个函数 在视图函数中 CBV 就是在视图里使用类处理请求 优点 提高了代码的复用性,可以使用面向对象的技术,比如说Mixin(多继承) 可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高了代码可读性 代码逻辑 url from django.conf.urls import url from myapp.views import MyView urlpatterns = [ url(

【JQ成长笔记】jQuery Validate验证插件

validate是一款很好的jq插件,提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API.所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言. 需要引入的js 1 <script type="text/javascript" src="../../scripts/jquery-1.3.1.js&qu

struts2官方 中文教程 系列十一:使用XML进行表单验证

在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入.在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入.使用单独的XML验证文件让您可以内置到Struts 2框架的验证器. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列十一:使用XML进行表单验证  即 http://www.cnblogs.com/linghaoxinpian/p/6938720.html 下载本章节代码 为了使用户能够编辑存储在Person对

沫沫金讲:Eclipse卡死cup内存双爆,取消验证无效--看这里修改.project跟我做

背景 公司规范Jar包管理,启用Maven后.新的工程已Maven工程出现 问题 新工程导致打开Eclipse之后CPU就爆灯[99%]这个不干打开JSP.JS.直接卡崩溃 目标 向之前的工程一样,可正常使用毫无卡顿 排除 1.取消所有验证.自动补全等等 2.增大eclipse.ini内存方法 最终 修改.project文件,删减运行时的插件和验证 <?xml version="1.0" encoding="UTF-8"?> <projectDes

表单验证的设计

不说废话,直接留干货.实现的效果:多条表单提交的时候,如果某个表单的输入不和格式要求,则提示对应的错误信息,所有表单的内容合适,则提交到后台.显示代码(这里的dom的结构不唯一,我只是在我实际的项目中,遇到的解决方案) dom: css: js: 显示的效果: 全部格式不对: 部分不对: 验证为空后继续验证是否符合电话格式(这里只做了这个具体的验证,也可以做邮箱的验证,就要单独写正则验证邮箱) 总结:这样做的好处就是,在提交表单的时候,如果某条表单格式不对,可以立马显示出对应表单,不用一条一条的

MVC验证01-基础、远程验证

原文:MVC验证01-基础.远程验证 本文体验MVC服务端和客户端验证.主要涉及:※ 基础验证※ 远程验证1个或多个属性及注意点 基础体验 创建MVC4的Internet项目,本身包含了基本的Model,Views,Controller. □ Model打上验证特性 展开 public class RegisterModel { [Required] [StringLength(3, MinimumLength = 2)] //加 [Display(Name = "用户名")] pub