मुझे ऐसी समस्या का सामना करना पड़ता है जिसके लिए मुझे कोई समाधान नहीं मिल रहा है। मेरे पास navbar में एक बटन है जो सभी पृष्ठों पर उपलब्ध है और यह कुछ सामग्री बनाने के लिए जिम्मेदार एक बटन है।डाक अनुरोध के बाद Django में पिछले पृष्ठ पर रीडायरेक्ट कैसे करें
देखें कि बटन के साथ लिंक करता है:
def createadv(request):
uw = getuw(request.user.username)
if request.method =='POST':
form = AdverForm(request.POST, request.FILES)
if form.is_valid():
form.instance.user = request.user
form.save()
return HttpResponseRedirect('/', {'username': request.user.username, 'uw': uw})
args = {}
args.update(csrf(request))
args['username'] = request.user.username
args['form'] = AdverForm()
args['uw'] = uw
return render_to_response('createadv.html', args)
अब आप देख सकते मैं हमेशा सामग्री बनाने के बाद मुख्य पेज '/' को अनुप्रेषित लेकिन मैं जिसके साथ मैं के निर्माण का शुभारंभ किया पृष्ठ पर वापस जाने के लिए चाहते हैं सामग्री।
return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
ध्यान दें कि यह अगर ग्राहक (उदाहरण के लिए, एक निजी/गुप्त ब्राउज़र विंडो का उपयोग) संदर्भ देने वाली जानकारी भेजने अक्षम कर काम नहीं करेगा:
मैं अनुरोध जोड़ें:
आप एक मध्यवर्ती पृष्ठ के माध्यम से पारित, तो आप क्वेरी स्ट्रिंग के माध्यम से 'अगले' मूल्य पारित कर सकते हैं HMEPResponseRedirect में .META.get ('HTTP_REFERER', '/'), लेकिन दुर्भाग्यवश इससे मदद नहीं मिली। इस मामले में सबमिट करने के बाद मैं "createadv" पृष्ठ पर रहता हूं। – Oleg
आपके बीच एक अतिरिक्त रीडायरेक्ट हो सकता है। सुनिश्चित करें कि आपके पास 'form action = "..." टैग में पीछे की ओर स्लैश है, उदाहरण के लिए' action = "/ createadv /" '। – Selcuk
जब आप कोई फॉर्म पोस्ट करते हैं, तो आपका 'HTTP_REFERER' वह पृष्ठ होगा जहां से आपने फ़ॉर्म सबमिट किया है, जो वास्तव में इस मामले में एक ही पृष्ठ है। –