Python 为什么Django是无效的?
我创建了一个django表单。我还在表单字段中插入有效值,但仍然得到表单无效错误。我昨天使用了相同的代码,它工作得很好,但我不知道为什么它会给出无效的错误,这可能是什么原因 这是我的密码: View.py forms.pyPython 为什么Django是无效的?,python,django,Python,Django,我创建了一个django表单。我还在表单字段中插入有效值,但仍然得到表单无效错误。我昨天使用了相同的代码,它工作得很好,但我不知道为什么它会给出无效的错误,这可能是什么原因 这是我的密码: View.py forms.py from django import forms from .models import User_Registration class Registration_Form(forms.ModelForm): class Meta: model=Use
from django import forms
from .models import User_Registration
class Registration_Form(forms.ModelForm):
class Meta:
model=User_Registration
fields=('company_name','username','password','email')
widgets={
'company_name':forms.TextInput(attrs={'class':'form-control input-sm'}),
'username':forms.TextInput(attrs={'class':'form-control'}),
'password':forms.PasswordInput(attrs={'class':'form-control'}),
'email':forms.EmailInput(attrs={'class':'form-control'}),
}
registration.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
</head>
<body>
<div class="form-group">
<br><br><br>
<h2 style="padding-left: 480px;">Registration Form</h2>
<br>
<form method="POST" action="">
{{form.as_p}}
{% csrf_token %}
<input type="submit" value="Submit">
</form>
</div>
</body>
</html>
您忘记使用POST数据初始化表单:
def RegistrationView(request):
form=Registration_Form()
if request.method=='POST':
print(request.POST)
form = Registration_Form(request.POST) # line added
if form.is_valid():
form.save()
...
您忘记使用POST数据初始化表单:
def RegistrationView(request):
form=Registration_Form()
if request.method=='POST':
print(request.POST)
form = Registration_Form(request.POST) # line added
if form.is_valid():
form.save()
...
如果未传递任何数据,则表单始终无效。因此,在构建表单时,您需要传递request.POST和request.FILES:
def RegistrationView(request):
if request.method == 'POST':
form = Registration_Form(request.POST, request.FILES)
if form.is_valid():
form.save()
print('Valid')
return redirect('login_view')
else:
print('Not Valid')
else:
form = RegistrationForm()
return render(request,'registration.html',{'form':form})
如果未传递任何数据,则表单始终无效。因此,在构建表单时,您需要传递request.POST和request.FILES:
def RegistrationView(request):
if request.method == 'POST':
form = Registration_Form(request.POST, request.FILES)
if form.is_valid():
form.save()
print('Valid')
return redirect('login_view')
else:
print('Not Valid')
else:
form = RegistrationForm()
return render(request,'registration.html',{'form':form})