Maison > Article > développement back-end > Est-il approprié de combiner plusieurs décorateurs à l’aide de Python ?
Cet article présente principalement les astuces pour fusionner plusieurs décorateurs en Python Cet article utilise la méthode de réécriture et d'appel de la fonction pour fusionner plusieurs décorateurs en une seule ligne et une seule fonction. En appelant, les amis qui en ont besoin peuvent se référer au programme
django. Vous devez écrire beaucoup d'API, et chaque fonction nécessite plusieurs décorateurs, tels que
@csrf_exempt @require_POST def foo(request): pass<.>Dans ce cas, plusieurs méthodes doivent écrire deux décorateurs, ou plus. Existe-t-il un moyen de combiner plusieurs décorateurs en une seule ligne ?
Le processus d'exécution de la fonction ci-dessus doit être
csrf_exempt(require_POST(foo))est modifié en
def compose(*funs): def deco(f): for fun in reversed(funs): f = fun(f) return f return decoLa fonction est réécrit comme
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!