Должен ли я использовать @csrf _Protect в моем представлении выхода из django вместе с промежуточным программным обеспечением

У меня есть собственный вид выхода из системы. Я добавил декораторы, как показано ниже

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 _для моего представления? Если я использую оба, возникнут ли какие-то проблемы/конфликты?

Кроме того, когда я проверил исходный код django , я обнаружил, что декораторы применяются только для представления входа в систему, а не для выхода из системы, входа в систему _, затем _выхода из системы. Почему тот?

Приветствуется любая помощь

5
задан damon 30 March 2012 в 02:15
поделиться