显示ModelForms的Django表单验证错误

2024-04-25 08:31:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我经常发现自己在视图中使用ModelForm来显示和转换视图。在模板中显示表单没有问题。我的问题是,当我使用这些表单时,表单通常不会使用is_valid方法进行验证。问题是我不知道是什么导致了验证错误。

以下是视图中的一个基本示例:

def submitrawtext(request):
    if request.method == "POST":
        form = SubmittedTextFileForm()
        if form.is_valid():
           form.save()
           return render(request, 'upload_comlete.html')
        return render(request, 'failed.html')
    else:
        form = SubmiittedTextFileForm()
        return render(request, 'inputtest.html', {'form': form})

我知道表单没有验证,因为我被重定向到failed.html模板,但我永远不知道原因。is_valid is false。如何设置此项以显示表单验证错误?


Tags: 方法form视图模板表单returnifis
1条回答
网友
1楼 · 发布于 2024-04-25 08:31:37

两件事:

  1. 你不能把POST送到邮局。

  2. 若要查看错误消息,您需要呈现回同一模板。

试试这个:

def submitrawtext(request):
    if request.method == "POST":
        form = SubmittedTextFileForm(request.POST)
        if form.is_valid():
           form.save()
           return render(request, 'upload_comlete.html')
        else:
           print form.errors #To see the form errors in the console. 
    else:
        form = SubmittedTextFileForm()
    # If form is not valid, this would re-render inputtest.html with the errors in the form.
    return render(request, 'inputtest.html', {'form': form})

相关问题 更多 >

    热门问题