Python合并多個裝飾器小技巧
更新時間:2015年04月28日 08:43:31 投稿:junjie
這篇文章主要介紹了Python合并多個裝飾器小技巧,本文用改寫調(diào)用函數(shù)的方式實(shí)現(xiàn)把多個裝飾器合并成一行、一個函數(shù)來調(diào)用,需要的朋友可以參考下
django程序,需要寫很多api,每個函數(shù)都需要幾個裝飾器,例如
復(fù)制代碼 代碼如下:
@csrf_exempt
@require_POST
def foo(request):
pass
既然那么多個方法都需要寫2個裝飾器,或者多個,有啥辦法把多個合并成一行呢?
上面的函數(shù)執(zhí)行過程應(yīng)該是
復(fù)制代碼 代碼如下:
csrf_exempt(require_POST(foo))
修改成
復(fù)制代碼 代碼如下:
def compose(*funs):
def deco(f):
for fun in reversed(funs):
f = fun(f)
return f
return deco
函數(shù)改寫成
復(fù)制代碼 代碼如下:
@compose(csrf_exempt, require_POST)
def foo(request):
pass
參考:
Can I combine two decorators into a single one in Python
相關(guān)文章
Python地理地圖可視化folium標(biāo)記點(diǎn)彈窗設(shè)置代碼(推薦)
這篇文章主要介紹了Python地理地圖可視化folium標(biāo)記點(diǎn)彈窗設(shè)置,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09
Python語言實(shí)現(xiàn)百度語音識別API的使用實(shí)例
這篇文章主要介紹了Python語言實(shí)現(xiàn)百度語音識別API的使用實(shí)例,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12
基于Python和TFIDF實(shí)現(xiàn)提取文本中的關(guān)鍵詞
TFIDF 的工作原理是按比例增加一個詞語在文檔中出現(xiàn)的次數(shù),但會被它所在的文檔數(shù)量抵消。本文將利用TFIDF實(shí)現(xiàn)提取文本中的關(guān)鍵詞,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧2022-04-04
使用Python快速打開一個百萬行級別的超大Excel文件的方法
這篇文章主要介紹了使用Python快速打開一個百萬行級別的超大Excel文件的方法,本文通過實(shí)例代碼給大家介紹的非常想詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03

