Django显示来自另一个函数的形式错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django显示来自另一个函数的形式错误相关的知识,希望对你有一定的参考价值。

我试图发布一个ModelForm,但在is_valid()函数之后,我运行另一个来自另一个函数的验证。

我想要做的是,如果其他函数的结果为false,则表单应该在表单上方引发错误,如“您的密码不能相同”的情况。

由于函数在进程中运行,我不能在模型中使用干净的方法。

提前致谢!

功能

def somefunction():
.
.
    print ("NOT WORKING")
    return False

views.朋友

def index(request):
    form = SomeForm(request.POST)
    if request.method == "POST":
        if form.is_valid():
            if somefunction() == True:
                form.save()
                return HttpResponseRedirect("/contact/")
            else:
                form
        else: 
            form
    return render(request, "home.html", {'form': form})
答案

您可以使用add_error方法手动添加错误,如下所示。

form.add_error('<FIELD_NAME>)', 'your password cannot be the same')

但我建议你改用clean methodform

以上是关于Django显示来自另一个函数的形式错误的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 ListView 显示在一个片段中而不是另一个片段中?

在另一个模板中显示来自 Django 视图的 HTML 表

在完成帖子执行之前切换到另一个片段时,应用程序崩溃,并显示此错误

如何在 Django 中从用户模型的字段自动填充和显示数据到来自不同应用程序的另一个模型?

来自一个函数的 React Child 错误正在引用另一个函数

使用 Django 模板作为片段