加载FormView时如何重定向?

时间:2017-10-10 11:33:11

标签: django redirect

使用基于类的视图FormView如果用户已被激活,我想重定向到其他页面。

所以我尝试重写get_form_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

使用此方法添加消息,但永远不会重定向。

我是否在正确的位置进行此重定向,我一直在使用ccbv作为参考

1 个答案:

答案 0 :(得分:1)

也许您可以使用user_passes_test() decorator并装饰您的CBV的dispatch()方法

或者只是覆盖dispatch()方法,以便您可以添加消息