国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python合并多個裝飾器小技巧

2019-11-25 17:38:23
字體:
來源:轉載
供稿:網友

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 固镇县| 罗源县| 潼南县| 广州市| 腾冲县| 新疆| 滦平县| 正定县| 磐石市| 荔波县| 大英县| 特克斯县| 章丘市| 泉州市| 遂平县| 长沙市| 安乡县| 乌拉特中旗| 永善县| 调兵山市| 肃北| 连州市| 乌鲁木齐县| 外汇| 仙游县| 西林县| 镇江市| 梁平县| 天全县| 葫芦岛市| 宜兴市| 云霄县| 嫩江县| 大安市| 手游| 华亭县| 和顺县| 泸水县| 社会| 门头沟区| 马鞍山市|