में अगले यूआरएल पर रीडायरेक्ट करें मैं Django 1.7
Python 3.4
के साथ उपयोग कर रहा हूं। मेरे पास एक परिदृश्य है जहां मैं उपयोगकर्ताओं को लॉग इन करने के बाद next
GET पैरामीटर में परिभाषित अनुसार किसी अन्य दृश्य पर रीडायरेक्ट करना चाहता हूं। लेकिन मेरे वर्तमान सेटअप के साथ, वे हमेशा होम पेज पर रीडायरेक्ट हो जाते हैं। मैं उम्मीद कर रहा था कि FormView
कक्षा के get_success_url
में ऐसा करने का कोई तरीका है।django FormView
नीचे मेरी कोड है
यूआरएल
http://localhost:8000/login/?next=/ads/new
views.py
from django.views.generic.edit import FormView
class LoginView(FormView):
template_name = 'users/login.html'
form_class = LoginForm
def get_success_url(self):
return reverse('home')
def form_valid(self, form):
form.user.backend = 'django.contrib.auth.backends.ModelBackend'
login(self.request, form.user)
messages.info(self.request, 'Login successful')
return super(LoginView, self).form_valid(form)
urls.py
url(r'^login/', LoginView.as_view(), name='login'),
url(r'^new$', 'apps.adverts.views.add_new_advert', name='new_advert'), # URL to use after login, in next param
में अगले पैरामीटर
उपर्युक्त सेटअप के साथ, होम पेज के अलावा, यदि इसे परिभाषित किया गया है, तो मैं अगले यूआरएल पर रीडायरेक्ट कैसे करूं?
[ड्वैंगो सफलता यूआरएल का उपयोग कर डब्लूएजी सफलता यूआरएल] (http://stackoverflow.com/questions/26897050/django-success-url-using-kwargs) – rnevius
मैंने ऊपर वर्णित लिंक को देखा है, और इसके दौरान किसी अन्य ऑब्जेक्ट/व्यू पर रीडायरेक्ट करने के साथ सौदे करता है, यह दिखाता है कि 'get_success_url' विधि' में 'GET' पैरामीटर कैसे प्राप्त करें' अगले 'यूआरएल में पास करने के लिए। – Frankline