日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Django中裝飾器的使用方法

裝飾器的作用(簡而言之):讓其他函數在不需要做任何代碼變動的前提下增加額外的功能

FBV加裝飾器

例:以統計時間的裝飾器為例

def timer(func):
    def inner(*args, **kwargs):
        start = time.time()
        ret = func(*args, **kwargs)
        print('執行的時間是:{}'.format(time.time()-start))
        return ret
    return inner

其中:timer為裝飾器的名字(讀者可自定義);func為需要被裝飾的函數名字(一般寫這個);inner也是自定義,但習慣寫inner;*args, **kwargs為要被裝飾的函數參數。

使用方式:

@timer
def xx(request):
    ....

即:在需要的方法上加 @timer即可。

 

CBV加裝飾器(共有3種方法,這里本人只列舉其中2種方法,但是夠了)

注:這里需要再使用一個裝飾器(不加也沒關系,但是最好還是加上去)

from django.utils.decorators import method_decorator

例:還是以 統計時間的裝飾器 為例

方法一:

class Xxx(View):
    @method_decorator(timer)
    def xx(self, request):
        ....

注:方法一比較簡單,只需在定義函數上面加上 @method_decorator(timer) 即可

方法二:

@method_decorator(timer, name='xx')
class Xxx(View):
    def xx(self, request):
        ....

注:方法二也不難,在類的上面加上 @method_decorator(timer, name='xx') 即可,其中 name='xx' 中的 'xx' 為讀者自定的方法名

望讀者細心閱之。

分享到:
標簽:Django
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定