¿Cómo escribo un decorador para mi vista de Django / Python?
Aquí está mi punto de vista. Básicamente, devuelve diferentes respuestas en función de si está conectado o no.
@check_login()
def home(request):
if is_logged_in(request):
return x
else:
return y
Aquí está mi código de decorador. Solo quiero verificar si la solicitud tiene encabezados y, de ser así, iniciar sesión.
#decorator to log the user in if there are headers
def check_login():
def check_dec(func):
if request.META['username'] == "blah":
login(request, user)
return check_dec
El problema es ... ¡No sé cómo escribir un decorador adecuado en este caso! ¿Cuáles son los argumentos? ¿Cuáles son las funciones? ¿Cómo?