Python 为什么Django是无效的?

Python 为什么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

我创建了一个django表单。我还在表单字段中插入有效值,但仍然得到表单无效错误。我昨天使用了相同的代码,它工作得很好,但我不知道为什么它会给出无效的错误,这可能是什么原因

这是我的密码: View.py

forms.py

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})