gpt4 book ai didi

python - django form.is_valid 返回 false

转载 作者:行者123 更新时间:2023-12-01 00:16:21 25 4
gpt4 key购买 nike

每当我提交表单并检查表单是否未提交并被重定向时。验证总是错误的。我输入了所有的字段,它仍然显示相同的内容。为什么一直这样显示?有什么不对?下面是我使用的 View 、模板和表单的文件。

views.py

def signincheck(request):

if request.method == "POST":
formsignin = FormSignup(request.POST,request.FILES)
if formsignin.is_valid():
return HttpResponse("Password not match 3")
TbluserVar=Tbluser()
TbluserVar.firstname=formsignin.cleaned_data['firstname']
TbluserVar.lastname=formsignin.cleaned_data['lastname']
TbluserVar.username=formsignin.cleaned_data['username']
Password=formsignin.cleaned_data['password']
ConfirmPassword=formsignin.cleaned_data['confirm_password']
TbluserVar.mobilenumber=formsignin.cleaned_data['mobilenumber']
Tbluser.dateofbirth=formsignin.cleaned_data['dob']
Tbluser.dateofjoining=datetime.datetime.today()
Tbluser.userlevel=0
if Password != ConfirmPassword:
messages.error(request,'Password and Confirm Password does not match')
return redirect('/')

else:
try:
user = Tbluser.objects.get(username=formsignin.cleaned_data['username'])
messages.error(request,'Username not available. Try another one.')
return redirect('/')

except:
PasswordEnc=hashlib.md5(Password.encode())
RealPassword=PasswordEnc.hexdigest()
TbluserVar.passwordenc=RealPassword
TbluserVar.save()
request.session['username']=TbluserVar.username
request.session['getFirstandLastName']=TbluserVar.firstname + " " + TbluserVar.lastname
FullName=request.session['getFirstandLastName']
return redirect('/index')

else:
return redirect('/')
else:
return HttpResponse("NOT CORRECT")

forms.py

class FormSignup(forms.Form):
firstname=forms.CharField(
max_length=30,
widget=forms.TextInput(attrs={'placeholder': 'First Name...','class':'loginform'}))

lastname=forms.CharField(
max_length=30,
widget=forms.TextInput(attrs={'placeholder': 'Last Name...','class':'loginform'}))

username=forms.CharField(max_length=30,widget=forms.TextInput(attrs={'placeholder': 'User Name...','class':'loginform'}))
password=forms.CharField(max_length=30,widget=forms.PasswordInput(attrs={'placeholder': 'Password...','class':'loginform'}))
confirm_password=forms.CharField(max_length=30,widget=forms.PasswordInput(attrs={'placeholder': 'Confirm Password...','class':'loginform'}))
mobilenumber=forms.CharField(max_length=30,widget=forms.TextInput(attrs={'placeholder': 'Mobile Number...','class':'loginform'}))
dob=date = forms.DateTimeField(
input_formats=['%d/%m/%Y'],
widget=forms.TextInput(attrs=
{
'class':'datepicker',
'placeholder': 'Date of Birth...'

}))

template.html

<div class="modal fade" id="modalSignUpForm" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header text-center">
<h4 class="modal-title w-100 font-weight-bold">Sign in</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<form id="idlognform" method="POST" action="{% url 'signupcheck' %}" enctype="multipart/form-data">
{% csrf_token %}
<div class="modal-body mx-3">
<div class="md-form mb-4">
<i class="fas fa-lock prefix grey-text"></i>
{{FormSignup1.firstname}}
</div>

<div class="md-form mb-4">
<i class="fas fa-lock prefix grey-text"></i>
{{FormSignup1.lastname}}
</div>

<div class="md-form mb-4">
<i class="fas fa-lock prefix grey-text"></i>
{{FormSignup1.username}}
</div>

<div class="md-form mb-4">
<i class="fas fa-lock prefix grey-text"></i>
{{FormSignup1.password}}
</div>

<div class="md-form mb-4">
<i class="fas fa-lock prefix grey-text"></i>
{{FormSignup1.confirm_password}}
</div>

<div class="md-form mb-4">
<i class="fas fa-lock prefix grey-text"></i>
{{FormSignup1.mobilenumber}}
</div>

<div class="md-form mb-4">
<i class="fas fa-lock prefix grey-text"></i>
{{FormSignup1.dob}}
</div>
<div class="modal-footer d-flex justify-content-center">
<input class="btn btn-default" type="submit" id="signinbutton" value="Login">
</div>
</div>
{{form.errors}}
</form>


</div>
</div>
</div>

最佳答案

这是因为在 forms.py 中您使用的是 dob=date=。它看起来不像一个有效的 django 表单。希望这有帮助。

关于python - django form.is_valid 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59308521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com