Django 加载FormView时如何重定向?
使用基于类的视图Django 加载FormView时如何重定向?,django,redirect,Django,Redirect,使用基于类的视图FormView如果用户已经激活,我想重定向到另一个页面 因此,我尝试重写get\u form\u kwargs函数: class UserActivateView(AnonymousRequiredMixin, FormView): ... def get_form_kwargs(self): .... if profile.activated: # User is already activate
FormView
如果用户已经激活,我想重定向到另一个页面
因此,我尝试重写get\u form\u kwargs
函数:
class UserActivateView(AnonymousRequiredMixin, FormView):
...
def get_form_kwargs(self):
....
if profile.activated:
# User is already activated an can log in
messages.info(
self.request,
'You are already activated. '
'Login or click forgot password if you have forgotten'
)
redirect(to=reverse_lazy('auth_login'))
....
return kwargs
使用此方法添加消息,但从未执行重定向
我是否在正确的位置执行此重定向,我已将其用作参考也许您可以使用并装饰您的CBV的dispatch()
方法
或者只需覆盖
dispatch()
方法,以便您可以包含您的消息不,您不能get\u form\u kwargs
用于获取表单kwargs。这应该通过负责返回响应的方法来完成,即dispatch
,或get
和post
。注意,您还需要实际返回重定向。user\u passes\u test
重定向到登录,因此将尝试调度覆盖,而不是user\u passes\u test
使用可选的login\u url
参数,这样您就不必重定向到登录页面。@surfer190,答案有用吗?你成功地从那里重定向了吗?