Python如何合并多個裝飾器?教你幾個小技巧

時間:2024-09-28 22:33:20 裝飾培訓 我要投稿
  • 相關推薦

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如何合并多個裝飾器?教你幾個小技巧】相關文章:

教你家居如何插花小技巧08-23

該如何合并多個HTML 幫助文件09-18

excel合并多個文件的方法05-27

小編教你如何掌控黑白攝影的技巧方法06-13

租房裝飾小技巧10-03

教你幾個實用的SAT閱讀考試解題技巧12-28

紋繡過程的幾個小技巧09-11

演講時的幾個小技巧01-01

臥室墻面裝飾小技巧08-01

PPT多個對象對齊有什么小技巧呢08-04

亚洲制服丝袜二区欧美精品,亚洲精品无码视频乱码,日韩av无码一区二区,国产人妖视频一区二区
五月六月婷婷中文字幕在线 | 五月的丁香六月的婷婷综合 | 自产一区二区三区国产 | 日本十八禁黄无遮禁在线视频 | 亚洲综合久久精品一区二区 | 在线极品欧美aⅴ |