当前位置:主页 > python教程 > 如何利用Python合并多个装饰器?

Python合并多个装饰器的方法

发布:2020-01-17 08:47:57 64


给大家整理一篇Python相关的编程文章,网友厉俊豪根据主题投稿了本篇教程内容,涉及到Python、合并装饰器、如何利用Python合并多个装饰器?相关内容,已被215网友关注,相关难点技巧可以阅读下方的电子资料。

如何利用Python合并多个装饰器?

这篇文章主要介绍了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

以上就是适合利用Python合并多个装饰器?的详细内容,更多请关注码农之家其它相关文章!


参考资料

相关文章

  • Python运行文件出现out of memory框的问题的解决方案

    发布:2020-01-20

    今天小编就为大家分享一篇解决Python运行文件出现out of memory框的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • python定时任务sched库用法简单实例

    发布:2023-03-04

    sched可用于定时任务,唯一需要注意的就是,这些任务在一个线程中运行,如果前面的任务耗时过长,则后面的任务将顺延执行,下面这篇文章主要给大家介绍了关于python定时任务sched库用法的相关资料,需要的朋友可以参考下


  • python/golang 删除链表中的元素

    发布:2021-04-09

    这篇文章主要介绍了python/golang 如何删除链表中的元素,帮助大家更好的理解和使用python/golang,感兴趣的朋友可以了解下


  • VScode查看python f.write()的文件乱码问题及解决方法

    发布:2023-04-09

    这篇文章主要介绍了VScode查看python f.write()的文件乱码问题及解决方法,本文通过图文并茂的形式给大家分享解决方法,需要的朋友可以参考下


  • 如何使用Python实现微信中找回好友、群聊用户撤回的消息功能

    发布:2020-01-22

    这篇文章主要介绍了Python实现微信中找回好友、群聊用户撤回的消息功能,结合实例形式分析了Python基于微信itchat模块实现针对撤回消息的查看功能相关操作技巧,需要的朋友可以参考下


  • Python开发游戏之井字游戏的实战步骤

    发布:2023-04-19

    最近正在学习Python,所以最近做了一个关于Python的实例,下面这篇文章主要给大家介绍了关于Python开发游戏之井字游戏的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下


  • python虚拟环境部署步骤教学

    发布:2019-08-06

    一、前言 预处理 建议仔细看完本文章之后在进行操作,避免失误,本环境可以用于生产环境,有利于生产环境python之间的环境隔离,互相不会产生环境冲突; pyenv 和 pyenv-virtualenv 可以完美结


  • 如何解决Python中Dataframe通过print输出多行时显示省略号问题

    发布:2020-02-22

    今天小编就为大家分享一篇在Python中Dataframe通过print输出多行时显示省略号的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


网友讨论