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
-
墙面装饰的装饰分类
引导语:下面是小编为大家整理出来的有关于墙面装饰的装饰分类的有关知识,希望对大家有帮助哦!墙面装饰的装饰分类装饰涂料饰面涂料:涂在物体表面能够形成完整的漆膜,并能与物体表面牢固粘合的物质特点:质地轻,色彩鲜明,附着力强,施工简便,省工省料,维修方便,质感丰富,价廉...
-
木门颜色永不过时的选法
各种鲜艳的色彩纷纷进入我们的生活中,穿上美丽多彩的夏装的同时,不要忘记了给我们的家庭做个装扮,下面小编带大家一起了解下家居木门的搭配技巧吧。1、木门的色彩要与居室色调相和谐当居室内的主色调为浅色系时,应挑选如白橡、混油等冷色系的木门;当居室内的主色调...
-
卧室墙面装饰小技巧
在墙面的装修时,不少装修业主非常重视,那么卧室墙面如何装修?卧室布置得好坏,将直接影响到大家的睡眠质量,对居室歇息环境起着无足轻重的作用。下面一起来看看卧室墙面装饰小技巧吧。装修材料当时,市场上可供用于卧室墙面装修的资料很多,有内墙涂料、塑料墙贴、玻璃...
-
走廊的装饰技巧
有时我们只是缺少发现美的眼睛,让我们一起发挥创意,让风景线更美丽吧!下面小编给大家介绍走廊的装饰技巧,欢迎阅读!走廊的装饰技巧巧用墙面装饰打造个性风景线家中的走廊过道,大多属于狭长形,空白的墙面总显得过于单调和沉闷。错落有致的装饰画非常适合长廊装饰,搭配...