Python 重定向到Django 1.5中的下一个参数
我有一个输入字段Python 重定向到Django 1.5中的下一个参数,python,django,redirect,next,loginview,Python,Django,Redirect,Next,Loginview,我有一个输入字段,但它不会用GET参数的值替换{{next}}。我找不到如何替换该值 我的看法 class LoginView(FormView): form_class = AuthenticationForm redirect_field_name = REDIRECT_FIELD_NAME template_name = 'user/login.html' @method_decorator(csrf_protect) @method_decora
,但它不会用GET参数的值替换{{next}}
。我找不到如何替换该值
我的看法
class LoginView(FormView):
form_class = AuthenticationForm
redirect_field_name = REDIRECT_FIELD_NAME
template_name = 'user/login.html'
@method_decorator(csrf_protect)
@method_decorator(never_cache)
def dispatch(self, *args, **kwargs):
return super(LoginView, self).dispatch(*args, **kwargs)
def form_valid(self, form):
login(self.request, form.get_user())
return super(LoginView, self).form_valid(form)
def get_success_url(self):
if self.success_url:
redirect_to = self.success_url
else:
redirect_to = self.request.REQUEST.get(self.redirect_field_name, '')
if not redirect_to:
redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)
return redirect_to
在类
LoginView
上重写方法get\u context\u data
def get_context_data(self, **kwargs):
context = super(LoginView, self).get_context_data(**kwargs)
context['next'] = self.request.REQUEST.get('next')
return context
这假设
GET
参数将具有下一个url,在该url中,应在paramnext
中重定向用户。因此,请求的格式应该是localhost.com/login?next=/accounts/
您的查看代码是什么?不应该self.request.request.get('next')
beself.request.get('next')