代码如下:

from django.shortcuts import render,HttpResponse,redirect
from django.views import View
# Create your views here.def login(request):if request.method == 'POST':username = request.POST.get('name')password = request.POST.get('password')if username == 'jason' and password == '123':request.session['name'] = 'jason'return redirect('/home')return render(request,'login.html')# 要用装饰器需要导的模块
from functools import wraps
from django.utils.decorators import method_decorator
def login_auth(func):@wraps(func)def inner(request,*args,**kwargs):if request.session.get('name'):return func(*args,**kwargs)return redirect('/login')return inner#第二种 name参数必须指定
@method_decorator(login_auth,name='get')
class MyHome(View):#第三种  只要是在该类中定义的方法都会被指定
    @method_decorator(login_auth)def dispatch(self, request, *args, **kwargs):super().dispatch(request,*args,**kwargs)# 第一种
    @method_decorator(login_auth)def get(self,request):return HttpResponse('get')def post(self,request):return HttpResponse('home')

转载于:https://www.cnblogs.com/HUIWANG/p/11047221.html

CBV装饰校验的三种方式session相关推荐

  1. AntDesign Form表单字段校验的三种方式

    1.使用getFieldDecorator的rules规则 最简单的方法就是使用getFieldDecorator中的rules验证.rules中定义校验规则,message为校验不通过时的提示文字. ...

  2. .net session 有效时间_Python中requests模拟登录的三种方式(携带cookie/session进行请求网站)...

    这篇文章主要介绍了python中requests模拟登录的三种方式(携带cookie/session进行请求网站),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋 ...

  3. java 设置session超时_Java设置session超时(失效)的三种方式

    转自:http://blog.csdn.net/hu_shengyang/article/details/8021435 1.      在web容器中设置(此处以tomcat为例) 在tomcat- ...

  4. Web CSS #id 标签选择器 style display 类选择器.class 使用CSS的三种方式 列表装饰 绝对定位

    文章目录 CSS使用的三种方式 内联定义方式 实现代码 实现结果 样式块方式 实现代码 显示结果 链入外部样式表文件 实现代码 图是结果 #id 选择器 #id名 实现代码 实现结果 标签选择器 标签 ...

  5. Struts2访问Servlet的三种方式

    Struts2访问Servlet的三种方式 基本介绍 在Struts2中,Action并没有直接和Servlet API耦合.虽然Struts2 中的Action访问Servlet API麻烦一些,但 ...

  6. java获取小程序中用户的unionId的三种方式

    前提条件: 想要获取unionId,必须几个小程序或者公众号在同一个主体之下,要不然没有unionId,只会生成用户的openid,可登陆下面这个微信官方平台查看 https://open.weixi ...

  7. Hive--临时表的三种方式

    一.临时数据方案 1.with as 1.1 使用demo with t1 as (     select         imei         ,src_pkg         ,src_typ ...

  8. linux+Qt 下利用D-Bus进行进程间高效通信的三种方式

    linux+Qt 下利用D-Bus进行进程间高效通信的三种方式 原文链接: https://www.cnblogs.com/wwang/archive/2010/10/27/1862552.html ...

  9. spring配置datasource三种方式

    转自:http://blog.csdn.net/yangyz_love/article/details/8199207 1.使用org.springframework.jdbc.datasource. ...

最新文章

  1. [洛谷P4171][JSOI2010]满汉全席
  2. linux ifconfig命令配置ip地址
  3. 机器学习--CART分类回归树
  4. k8s command args
  5. android拍照截图组件,Android截图命令screencap与视频录制命令screenrecord(示例代码)...
  6. 职业梦想是计算机的英语作文,理想职业英语作文2篇
  7. Linux万兆网络配置
  8. 计算机语言列表,计算机语言java中得List
  9. matlab只加盐噪声,我用matlab中的imnoise函数给图像加椒盐噪声为什么产生的噪声不是黑白的?...
  10. 1028 人口普查 (Python实现)
  11. 眨眼视频制作与生成活体视频生成
  12. 20年在线考试计算机应用基础,20年春福师《计算机应用基础》在线作业一【参考答案】...
  13. Q1营收超华尔街预期,挚文集团的价值等待回归
  14. 什么是REST风格? 什么是RESTFUL?(一篇全读懂)
  15. 【ansys workbench】3.圆角L型支架的应力结果
  16. 系统信息 打包压缩 软件安装 其他命令
  17. 假如时光可以倒流我要如何选择
  18. 房屋装修合同书范本【收藏备用】
  19. C++查看变量类型办法(typeinfo)
  20. mysql decimal

热门文章

  1. Android可视化界面开发工具DroidDraw
  2. 零基础学python这本书怎么样-看了这本基础教程的书籍你还担心你的python学不好吗?...
  3. python爬虫百度百科-如何入门 Python 爬虫?
  4. python语音在线编辑-Python实时语音识别控制
  5. python常用内置模块-python常用的内置模块
  6. python是c语言写的吗-Python与C语言有什么区别?
  7. 如何使用python画折线图-Python 使用 matplotlib 画折线图教程
  8. r语言和python-r语言和python学哪个
  9. 精通python能干什么-Python学到什么程度才算精通?天津Python培训
  10. python代码需要背吗-python代码运行需要编译吗