亚欧洲精品在线观看,窝窝影院午夜看片,久久国产成人午夜av影院宅,午夜91,免费国产人成网站,ts在线视频,欧美激情在线一区

裝飾培訓(xùn)

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

時(shí)間:2024-10-28 15:46:42 裝飾培訓(xùn) 我要投稿
  • 相關(guān)推薦

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

  django程序,需要寫(xiě)很多api,每個(gè)函數(shù)都需要幾個(gè)裝飾器,例如

  復(fù)制代碼 代碼如下:

  @csrf_exempt

  @require_POST

  def foo(request):

  pass

  既然那么多個(gè)方法都需要寫(xiě)2個(gè)裝飾器,或者多個(gè),有啥辦法把多個(gè)合并成一行呢?

  上面的函數(shù)執(zhí)行過(guò)程應(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ù)改寫(xiě)成

  復(fù)制代碼 代碼如下:

  @compose(csrf_exempt, require_POST)

  def foo(request):

  pass

  參考:

  Can I combine two decorators into a single one in Python

【Python如何合并多個(gè)裝飾器?教你幾個(gè)小技巧】相關(guān)文章:

教你如何學(xué)好工程制圖12-07

教你實(shí)用的社交口才技巧09-24

教你如何屏蔽硬盤(pán)壞道07-16

打網(wǎng)球的幾個(gè)小細(xì)節(jié)05-09

插花的幾個(gè)基本技巧(通用7篇)06-10

軍訓(xùn)小技巧10-13

登山教你如何正確選擇登山杖10-21

液晶顯示器保養(yǎng)技巧07-16

日常卸妝小技巧09-03

新生軍訓(xùn)小技巧09-28