为了账号安全,请及时绑定邮箱和手机立即绑定

Django 不显示验证错误

Django 不显示验证错误

qq_花开花谢_0 2023-06-06 15:36:15
我在编码 django 时遇到错误问题,不显示验证错误 我不知道为什么 django 不显示验证错误。你能帮忙吗?这是我的 form.py 文件, 这是我的表单文件,其中包含 form 和 validation 。django import formsfrom django.core import validatorsfrom new_app.models import Names``from django.shortcuts import renderfrom django.http import HttpResponseclass Forms(forms.ModelForm):FirstName = forms.CharField(label='FirstName',widget=forms.TextInput(attrs={"placeholder":"your Name","rows":20,"column":100}))    class Meta():        model = Names        fields = '__all__'    def clean(self):        all_data = super().clean()        firstname= all_data['FirstName']        lastname = all_data['LastName']        a = 1        if firstname in lastname:                raise forms.ValidationError("amazing")        return all_data这是我的 view.py 文件 这是我的视图文件from django.shortcuts import renderfrom new_app.models import Namesfrom new_app import formssfrom django import forms# Create your views here.def index(request):    a = Names.objects.all()    dict = {'write':a}return render(request , 'index.html', context = dict)def 寄存器(请求):second = formss.Forms()if request.method == 'POST':    form = formss.Forms(request.POST)    if form.is_valid():        form.save(commit=True)        return index(request)    else:        second = formss.Forms()return render (request , 'forms.html', context = {'form':second} )这是我的 form.html 模板文件...  <!DOCTYPE html><html dir="ltr">  <head>    <meta charset="utf-8">    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">    <title>Login or Sign up</title>  </head>  <body>        <div class="container">      <div class="jumbotron">        <h1>         Sign up</h1>      </div>    </div>    <div class="container">      <div class="first">        <form class="form-horizontal" method="post">          {{form.as_p}}          {% csrf_token%}          <input type="submit" class="btn btn-primary" value="Submit">        </form>      </div>    </div>  </body></html>
查看完整描述

1 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

您需要将错误标签添加到模板中才能查看验证错误:


{% if form.errors %}

       {% for field in form %}

              {% for error in field.errors %}

                    <div class="alert alert-danger">

                          <strong>{{ error }}</strong>

                    </div>

              {% endfor %}

       {% endfor %}

       {% for error in form.non_field_errors %}

              <div class="alert alert-danger">

                    <strong>{{ error }}</strong>

              </div>

       {% endfor %}

{% endif %}

您还需要确保呈现原始完成的表单,以便显示错误。


def register(request):

    if request.method == 'GET':

        form = formss.Forms()


    if request.method == 'POST':

        form = formss.Forms(request.POST)


        if form.is_valid():

            form.save(commit=True)

            return index(request)


    return render (request , 'forms.html', context = {'form':form} )


查看完整回答
反对 回复 2023-06-06
  • 1 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信