亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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 關注
  • 159 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號