Tôi có một tùy chỉnh xem logout .Tôi đã thêm trang trí như dưới đâytôi nên sử dụng @csrf_protect theo quan điểm logout django của tôi cùng với các 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)
Trong xác lập cá nhân nộp Tôi có các lớp trung gian sau
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
)
Vì CsrfViewMiddleware được bao gồm ở đây, tôi có thực sự cần @csrf_protect cho chế độ xem của tôi không? Nếu tôi sử dụng cả hai, sẽ có một số vấn đề/xung đột?
Là một sang một bên, khi tôi kiểm tra django source, tôi thấy rằng trang trí chỉ được áp dụng cho chế độ xem đăng nhập chứ không áp dụng cho bất kỳ đăng xuất nào, lượt xem login_then_logout.Tại sao vậy?
Bất kỳ sự trợ giúp nào chào đón nhất
cảm ơn @Todd, là một newbie để django & web dev, tôi đang đấu tranh để hiểu các công nghệ .. Tôi đang phát triển thông qua mã nguồn django và thường bị nhầm lẫn – damon
@damon, tôi sẽ không sử dụng nguồn dưới dạng hướng dẫn cho khuôn khổ. Tài liệu của Django nằm trong số những tài liệu hay nhất mà tôi từng sử dụng (nếu không * là * tốt nhất). Tôi chắc chắn sẽ đọc Hướng dẫn Django trên trang web và bổ sung nó với phần còn lại của tài liệu chính thức Django. – Todd