मैं एसओ पर यहाँ एक के समान लॉगिन कार्यक्षमता के साथ एक सरल वेबसाइट बनाने की कोशिश कर रहा हूँ। उपयोगकर्ता साइट को एक अनाम उपयोगकर्ता के रूप में ब्राउज़ करने में सक्षम होना चाहिए और हर पृष्ठ पर एक लॉगिन लिंक होगा। लॉगिन लिंक पर क्लिक करने पर उपयोगकर्ता को लॉगिन फॉर्म में ले जाया जाएगा। एक सफल लॉगिन के बाद उपयोगकर्ता को उस पृष्ठ पर वापस ले जाना चाहिए जहां से उसने पहली बार में लॉगिन लिंक पर क्लिक किया था। मैं अनुमान लगा रहा हूं कि मुझे वर्तमान पृष्ठ के url को उस दृश्य को पास करना है जो लॉगिन फ़ॉर्म को संभालता है लेकिन मैं वास्तव में इसे काम करने के लिए नहीं प्राप्त कर सकता हूं।
संपादित करें: मुझे यह पता चला। मैंने वर्तमान पृष्ठ को GET पैरामीटर के रूप में पास करके लॉगिन फ़ॉर्म से जोड़ा और फिर उस पृष्ठ पर पुनर्निर्देशित करने के लिए 'अगला' का उपयोग किया। धन्यवाद!
EDIT 2: मेरा स्पष्टीकरण स्पष्ट नहीं लग रहा था, क्योंकि यहां अनुरोध किया गया है कि मेरा कोड है: हमें बताएं कि हम एक पृष्ठ foo.html पर हैं और हम लॉग इन नहीं हैं। अब हम चाहेंगे कि foo.html पर एक लिंक हो। login.html करने के लिए। वहां हम लॉगिन कर सकते हैं और फिर foo.html पर पुनः निर्देशित कर सकते हैं। Foo.html पर लिंक इस तरह दिखता है:
<a href='/login/?next={{ request.path }}'>Login</a>
अब मैंने एक कस्टम लॉगिन दृश्य लिखा है जो कुछ इस तरह दिखता है:
def login_view(request):
redirect_to = request.REQUEST.get('next', '')
if request.method=='POST':
#create login form...
if valid login credentials have been entered:
return HttpResponseRedirect(redirect_to)
#...
return render_to_response('login.html', locals())
और login.html में महत्वपूर्ण पंक्ति:
<form method="post" action="./?next={{ redirect_to }}">
तो हाँ यह बहुत ज्यादा है, उम्मीद है कि यह स्पष्ट करता है।