Python合并多个装饰器小技巧

 更新时间:2015年04月28日 08:43:31   投稿:junjie  
这篇文章主要介绍了Python合并多个装饰器小技巧,本文用改写调用函数的方式实现把多个装饰器合并成一行、一个函数来调用,需要的朋友可以参考下

django程序,需要写很多api,每个函数都需要几个装饰器,例如

复制代码 代码如下:

@csrf_exempt 
@require_POST 
def  foo(request): 
    pass 

既然那么多个方法都需要写2个装饰器,或者多个,有啥办法把多个合并成一行呢?
上面的函数执行过程应该是
复制代码 代码如下:

csrf_exempt(require_POST(foo)) 

修改成
复制代码 代码如下:

def compose(*funs): 
    def deco(f): 
        for fun in reversed(funs): 
            f = fun(f) 
        return f 
    return deco
 
函数改写成
复制代码 代码如下:

@compose(csrf_exempt, require_POST) 
def foo(request): 
    pass 

参考:
Can I combine two decorators into a single one in Python

相关文章

  • Python实现RSA加密解密

    Python实现RSA加密解密

    这篇文章主要介绍了Python实现RSA加密解密,加密技术在数据安全存储,数据传输中发挥着重要作用,能够保护用户隐私数据安全,防止信息窃取。RSA是一种非对称加密技术,在软件、网页中已得到广泛应用,下面文章更多相关内容需要的小伙伴可以参考一下
    2022-04-04
  • Python第三方库jieba库与中文分词全面详解

    Python第三方库jieba库与中文分词全面详解

    jieba库是一款优秀的Python第三方中文分词库,jieba支持三种分词模式:精确模式、全模式和搜索引擎模式,下面这篇文章主要给大家介绍了关于Python第三方库jieba库与中文分词的相关资料,需要的朋友可以参考下
    2022-07-07
  • python基于opencv批量生成验证码的示例

    python基于opencv批量生成验证码的示例

    这篇文章主要介绍了python基于opencv批量生成验证码的示例,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • Python地理地图可视化folium标记点弹窗设置代码(推荐)

    Python地理地图可视化folium标记点弹窗设置代码(推荐)

    这篇文章主要介绍了Python地理地图可视化folium标记点弹窗设置,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Python语言实现百度语音识别API的使用实例

    Python语言实现百度语音识别API的使用实例

    这篇文章主要介绍了Python语言实现百度语音识别API的使用实例,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • opencv python简易文档之图片基本操作指南

    opencv python简易文档之图片基本操作指南

    OpenCv除了可以获取图像之外,还可以对图像进行一下处理操作,下面这篇文章主要给大家介绍了关于opencv python简易文档之图片基本操作的相关资料,需要的朋友可以参考下
    2021-08-08
  • Python2与Python3的区别详解

    Python2与Python3的区别详解

    这篇文章主要介绍了Python2与Python3的区别详解,需要的朋友可以参考下
    2020-02-02
  • 使用Python中PIL库给图片添加文本水印

    使用Python中PIL库给图片添加文本水印

    有时候我们需要添加一定的水印以给自己的图片添加先关的标记,在Python中有相关的计算函数,下面这篇文章主要给大家介绍了关于使用Python中PIL库给图片添加文本水印的相关资料,需要的朋友可以参考下
    2023-04-04
  • 基于Python和TFIDF实现提取文本中的关键词

    基于Python和TFIDF实现提取文本中的关键词

    TFIDF 的工作原理是按比例增加一个词语在文档中出现的次数,但会被它所在的文档数量抵消。本文将利用TFIDF实现提取文本中的关键词,感兴趣的小伙伴快跟随小编一起学习一下吧
    2022-04-04
  • 使用Python快速打开一个百万行级别的超大Excel文件的方法

    使用Python快速打开一个百万行级别的超大Excel文件的方法

    这篇文章主要介绍了使用Python快速打开一个百万行级别的超大Excel文件的方法,本文通过实例代码给大家介绍的非常想详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03

最新评论