tengo una vista personalizada de cierre de sesión .I han añadido los decoradores, como a continuacióndebo usar en mi @csrf_protect Django vista cierre de sesión junto con el middleware
from django.views.decorators.cache import never_cache
from django.views.decorators.csrf import csrf_protect
from django.views.decorators.http import require_POST
from django.contrib.auth.views import logout_then_login
@csrf_protect
@require_POST
@never_cache
def logout(request):
nxt=request.POST.get('next')
print 'next=',nxt
return logout_then_login(request, nxt)
En la configuración de mi archivo que tengo las siguientes clases de middleware
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
)
Dado que el CsrfViewMiddleware se incluye aquí, ¿realmente necesito @csrf_protect para mi vista? Si uso ambos, ¿habrá algún problema/conflicto?
Como nota aparte, cuando revisé el django source, encontré que los decoradores se aplican solo para la vista de inicio de sesión y no para ninguna de las vistas de cierre de sesión, login_then_logout. ¿Por qué?
Cualquier ayuda muy bienvenida
gracias @Todd, siendo un novato en django & web dev, estoy luchando por entender las tecnologías ... estoy navegando por el código fuente de django y a menudo me confundo – damon
@damon, no usaría la fuente como un guía para el marco. Los documentos de Django están entre los mejores que he usado (si no * el * mejor). Definitivamente leería el Tutorial de Django en el sitio web y lo completaría con el resto de la documentación oficial de Django. – Todd