在django中的modelform中仅添加一个密码字段的confirm password字段
我想在django模型表单中添加confirm password字段,并验证password和confirm password。通过模板输入详细信息后,数据将存储在数据库中。但只有三个字段将被添加到数据库中,如firstname、lastname和email。所以,我想将所有字段数据添加到数据库中 这是我的模型:在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)
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。之后,当我点击提交按钮时,数据应该存储在数据库中。这是关于注册用户详细信息。