如何从django中的form_valid函数重定向到表单无效

时间:2012-11-28 04:30:23

标签: python django

我正在执行更多验证,主要表格已经过验证。 我正在使用基于类的视图

def form_valid(self, request, *args, **kwargs):
    some custom logic
    if(false)
    Here i want to return to form invalid page with my custom message

我正在使用form_valid处理该文件,这就是我需要检查更多验证的许多步骤。所以我不想将所有逻辑移到另一个函数

1 个答案:

答案 0 :(得分:7)

您不应该在form_valid中进行验证。在Form.cleanForm.clean_FOO中的表单中执行此操作。请参阅Django documentation on form validation

如果您坚持要破坏代码库,请尝试以下操作:

def form_valid(self, request, *args, **kwargs):
    is_actually_valid = some_custom_logic()
    if not is_actually_valid:
        return self.form_invalid(request, *args, **kwargs)