2017-04-24 84 views
0

我想打電話給定製的裝飾每節只有一次如何每次會話只調用一次django裝飾器?

def cust_decorator(function): 
    def wrapper(request,*args, **kwargs): 
     ........ 
     ....... 

wrapper.__doc__ = function.__doc__ 
wrapper.__name__ = function.__name__ 
return wrapper 

我想每節只有一次打電話cust_decorator裝飾特定用戶

+0

視圖裝飾器在每次調用視圖時都會運行,因此它們可能不是每次會話運行一次的最佳方式。您可以在會話中存儲標誌,檢查裝飾器中的標誌,並且只在標誌未設置時才運行代碼。 – Alasdair

+0

有沒有其他辦法? – stone

+0

你這樣做實際上是在做什麼? – Sayse

回答

0

您可以設置一個會話變量當裝飾已被首次調用並檢查此值以確定警報是否應再次顯示。另一種方式可能是編寫自己的中間件。