在django中的modelform中仅添加一个密码字段的confirm password字段

在django中的modelform中仅添加一个密码字段的confirm password字段,django,django-models,django-forms,django-views,django-templates,Django,Django Models,Django Forms,Django Views,Django Templates,我想在django模型表单中添加confirm password字段,并验证password和confirm password。通过模板输入详细信息后,数据将存储在数据库中。但只有三个字段将被添加到数据库中,如firstname、lastname和email。所以,我想将所有字段数据添加到数据库中 这是我的模型: class Register(models.Model): first_name = models.CharField(max_length=30, blank=False)

我想在django模型表单中添加confirm password字段,并验证password和confirm password。通过模板输入详细信息后,数据将存储在数据库中。但只有三个字段将被添加到数据库中,如firstname、lastname和email。所以,我想将所有字段数据添加到数据库中

这是我的模型:

class Register(models.Model):
    first_name = models.CharField(max_length=30, blank=False)
    last_name = models.CharField(max_length=30, blank=False)
    email = models.EmailField(max_length=50, blank=False)
    password = models.CharField(max_length=12, blank=False)
这是我的模型:

class SignUpForm(forms.ModelForm):
    password = forms.CharField(widget=forms.PasswordInput())
    password_confirm = forms.CharField(widget=forms.PasswordInput())

    class Meta:
       model = Register
       fields = ['first_name', 'last_name', 'email','password']

     def clean(self):
        cleaned_data = super(SignUpForm, self).clean()
        password = cleaned_data.get("password")
        confirm_password = cleaned_data.get("password_confirm")

        if password != confirm_password:
            raise forms.ValidationError(
            "password and confirm_password does not match"
            )
这是我的view.py文件:

def auth_register(request):
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if form.is_valid():
           form.save()
           return HttpResponse('data has been saved...!!')
    else:
        form = SignUpForm()
    return render(request, 'auth-register.html', {'form': form})
以下是模板代码:

 <form method="post" action="">{%csrf_token%}

              <div class="row">
                <div class="form-group col-6">
                  <label for="first_name">First Name : </label>
                  <input id="first_name" type="text" class="form-control" name="first_name" autofocus="">
                </div>

                <div class="form-group col-6">
                  <label for="last_name">Last Name : </label>
                  <input id="last_name" type="text" class="form-control" name="last_name">
                </div>
              </div>

              <div class="form-group ">
                <label for="email">Email : </label>
                <input id="email" type="email" class="form-control" name="email">
                <div class="invalid-feedback">
                </div>
                </div>

              <div class="row">
                <div class="form-group col-6">
                  <label for="password1" class="d-block">Password</label>
                  <input id="password1" type="password" class="form-control pwstrength" data-indicator="pwindicator" name="password1">
                  <div id="pwindicator" class="pwindicator">
                    <div class="bar"></div>
                    <div class="label"></div>
                  </div>
                </div>

                <div class="form-group col-6">
                  <label for="password_confirm" class="d-block">Password Confirmation</label>
                  <input id="password_confirm" type="password" class="form-control" name="password2">
                </div>
              </div>

                <div class="form-group">
                <div class="custom-control custom-checkbox">
                  <input type="checkbox" name="agree" class="custom-control-input" id="agree">
                  <label class="custom-control-label" for="agree">I agree with the terms and conditions</label>
                </div>
                </div>

              <div class="form-group">
                <button type="submit" class="btn btn-primary btn-lg btn-block">
                  Register
                </button>
              </div>
            </form>
{%csrf\u令牌%}
名字:
姓氏:
电邮:
密码
密码确认
我同意这些条款和条件
登记

您可以使用Django的,您不必重新发明轮子,那么确切的问题是什么?你没有告诉我们什么不起作用。我希望这只是一个测试项目,因为以这种方式在数据库中保存密码不是你应该做的事情!确切的问题是,我的模型中有密码字段。为此,我想在modelform中添加confirm password字段,并验证password和confirm password。之后,当我点击提交按钮时,数据应该存储在数据库中。这是关于注册用户详细信息。你可以使用Django的,你不必重新发明轮子。那么确切的问题是什么?你没有告诉我们什么不起作用。我希望这只是一个测试项目,因为以这种方式在数据库中保存密码不是你应该做的事情!确切的问题是,我的模型中有密码字段。为此,我想在modelform中添加confirm password字段,并验证password和confirm password。之后,当我点击提交按钮时,数据应该存储在数据库中。这是关于注册用户详细信息。