У меня есть пользовательский вид выхода из системы. Я добавил декораторы, как показано ниже
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)
В моем файле настроек у меня есть следующие классы промежуточного программного обеспечения
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
)
Поскольку CsrfViewMiddleware включенздесь, действительно ли мне нужен @csrf_protect для моего взгляда? Если я использую оба, возникнет ли какая-то проблема / конфликт?
В качестве отступления, когда я проверил источник django , яобнаружил, что декораторы применяются только для представления входа в систему, а не для какого-либо из операций выхода из системы, представлений login_then_logout. Почему это так?
Любая помощь приветствуется