In diesem Artikel werden hauptsächlich Python-Tipps zum Zusammenführen mehrerer Dekoratoren vorgestellt. Dieser Artikel verwendet eine neu geschriebene Methode zum Aufrufen der -Funktion , um mehrere Dekoratoren in einer Zeile und einer Funktion zusammenzuführen Wer es braucht, kann auf das Programm
django zurückgreifen. Für jede Funktion sind mehrere Dekoratoren erforderlich, z. B.
@csrf_exempt @require_POST def foo(request): pass
Darin Bei mehreren Methoden müssen zwei oder mehr Dekoratoren geschrieben werden. Gibt es eine Möglichkeit, mehrere Dekoratoren in einer Zeile zu kombinieren?
Der Ausführungsprozess der obigen Funktion sollte
sein. Der Code lautet wie folgt:
csrf_exempt(require_POST(foo))
wird geändert in
def compose(*funs): def deco(f): for fun in reversed(funs): f = fun(f) return f return deco
Die Funktion wird umgeschrieben als
@compose(csrf_exempt, require_POST) def foo(request): pass
Das obige ist der detaillierte Inhalt vonIst es geeignet, mehrere Dekoratoren mit Python zu kombinieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!