मैं एक कस्टम लॉगआउट दृश्य मैं की तरहमैं मिडलवेयर
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)
अपनी सेटिंग्स में दाखिल नीचे मैं निम्नलिखित मिडलवेयर श्रेणियां होती हैं सज्जाकार जोड़ लिया है है के साथ मेरी Django लॉगआउट ध्यान में रखते हुए @csrf_protect का उपयोग करना चाहिए
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
)
चूंकि CsrfViewMiddleware यहां शामिल है, क्या मुझे वास्तव में मेरे दृश्य के लिए @csrf_protect की आवश्यकता है? यदि मैं दोनों का उपयोग करता हूं, तो क्या कुछ समस्या/संघर्ष होगा?
एक तरफ, जब मैंने django source की जांच की, तो मैंने पाया कि सजावटी केवल लॉगिन दृश्य के लिए लागू होते हैं, न कि लॉगआउट के लिए, login_then_logout विचारों के लिए। वह क्यों है?
किसी भी बहुत स्वागत
धन्यवाद @ टोड, डीजेंगो और वेब देव के लिए नौसिखिया होने के नाते, मैं प्रौद्योगिकियों को समझने के लिए संघर्ष कर रहा हूं..मैं डीजेंगो स्रोत कोड के माध्यम से बह रहा हूं और अक्सर – damon
@damon उलझन में आता हूं, मैं स्रोत का उपयोग नहीं करता ढांचे के लिए गाइड। Django के दस्तावेज़ मैंने कभी भी सबसे अच्छे उपयोग किए हैं (यदि नहीं * * सर्वश्रेष्ठ)। मैं निश्चित रूप से वेबसाइट पर Django ट्यूटोरियल पढ़ता हूं और बाकी आधिकारिक Django दस्तावेज़ीकरण के साथ इसे पूरक करता हूं। – Todd