Django中六个常用的自定义装饰器

Python66

装饰器作用

decorator是当今最流行的设计模式之一,很多使用它的人并不知道它是一种设计模式。这种模式有什么特别之处? 有兴趣可以看看Python Wiki上例子,使用它可以很方便地修改对象行为,通过使用类似例中的接口将修改动作封装在装饰对象中。

decorator 可以动态地修改函数、方法或类的功能,而无需创建子类或修改类的源代码。正因为如此,装饰器可以让代码将变得 更干净更可读更可维护(这很重要!),并且减少了许多冗余但又不得不写的代码,使我们可以使用单个方法向多个类添加功能。

对于装饰器的重用性和易用性,Django里面的@login_required就是一个很好的例子。使用它只用一句代码就可以检查用户是否通过身份验证,并将未登录用户重定向到登录url。

该装饰器的使用方法如下:

from django.contrib.auth.decorators import login_required

@login_required(login_url='/accounts/login/')
def my_view(request):
    ...

每次用户试图访问 my_view 时,都会进入 login_required 中的代码。

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
Python

Python中的socket网络模块

目录 ​​Socket​​ ​​服务端(server.py)​​ ​​客户端(client.py)​​ ​​socket中的一些常用方法​​ ​​Socket 对象(内建)方法​​ ​​Python ...
Python

【JS 逆向百例】Ether Rock 空投接口 AES256 加密分析

关注微信公众号:K哥爬虫,持续分享爬虫进阶、JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后...
Python

python

python正则表达式 1.re.match(pattern,string,flags=0) 参数 描述 pattern 匹配正则表达式 string– 要匹配的字符串– flags– 匹配方式:是否...
Python

爬虫逆向基础,认识 SM1-SM9、ZUC 国密算法

关注微信公众号:K哥爬虫,QQ交流群:808574309,持续分享爬虫进阶、JS/安卓逆向等技术干货! 【01x00】 简介 国密即国家密码局认定的国产加密算法,爬虫工程师在做 JS 逆向的时候,会遇...
Python

使用cx_Oracle操作oracle数据库

1.使用cx_Oracle简单使用流程 简单的使用流程①.引用模块cx_Oracle②.连接数据库③.获取cursor④.使用cursor进行各种操作⑤.关闭cursor⑥.关闭连接import cx...
Python

学python,怎么能不学习scrapy呢!

摘要:本文讲述如何编写scrapy爬虫。 本文分享自华为云社区《​​学python,怎么能不学习scrapy呢,这篇博客带你学会它​​》,作者: 梦想橡皮擦 。 在正式编写爬虫案例前,先对 scrap...
Python

python3 开启http服务器

python3 开启http服务器 原创 RoyFans2022-08-23 16:17:26博主文章分类:python ©著作权 文章标签 python 当前目录 html 文章分类 Python ...
Python

Chrome-油猴插件

发现了一个好东西,可以帮忙解决查阅百度文库不能复制、下载的问题以及一些其他问题 参考下面的网站 点击链接跳转 补充 当出现下面图片的情况时,就只需要按照第四步来操作 输入网址:https://grea...
Python

SpringBoot

自动装配原理:springboot是通过main方法下的SpringApplication.run方法启动的,启动的时候他会调用refshContext方法,先刷新容器,然后根据解析注解或者解析配置文...
Python

sql 基础详细(持续更新)

SQL基础 一、查询基础语句 查询语句的语法格式 Select * from 表名 where 条件; 具体演示 //创建一个学生成绩表 create table Student_grade( St_...