基于类的视图 - 基于表单字段的条件重定向

时间:2016-02-01 14:38:56

标签: django django-forms

当用户在视图中填写第一个表单(说明他们是否有在线帐户)并点击提交时,我想将用户重定向到不同的页面(和不同的表单)。

我通过以下方法尝试了这个,但我得到的SupplyTypeForm没有属性cleaning_data

class ServiceTypeView(FormView):
    form_class = SupplyTypeForm
    template_name = "supplier.html"
    success_url = '/'

    def post(self, request, *args, **kwargs):
        super()
        online_account = self.form_class.cleaned_data['online_account']
        if online_account:
            redirect('../online')
        else:
            redirect('../offline')

1 个答案:

答案 0 :(得分:1)

您应该在/tmp方法中执行此逻辑,该方法将表单作为参数接收。请注意,您需要返回对渲染调用的值,而您对form_valid的调用本身不会做任何事情;你必须在该对象上引用一个方法。

super()