в моей форме я добавил переменную с именем 'password_confirm'. но, по мнению, джанго этого не знает. в html-файле, я создал форму вручную.django- my form имеет attrubute 'password_confirm', но на вид не известно
мой код формы:
class UserRegisterForm(forms.Form):
name = forms.CharField(required=True,)
family = forms.CharField(required=True)
username = forms.CharField(required=True)
email = forms.EmailField(required=True)
password = forms.CharField(required=True, widget=forms.PasswordInput())
password_confirm = forms.CharField(required=True, widget=forms.PasswordInput())
type = forms.CharField(max_length=1)
def clean_password(self, *args, **kwargs):
pas1 = self.cleaned_data.get('password')
pas2 = self.cleaned_data.get('password_confirm')
if pas1 != pas2:
raise forms.ValidationError("password and confirmation not matched!")
return super(UserRegisterForm, self).clean()
def clean_email(self):
email_qs = User.objects.filter(email=self.cleaned_data['email'])
if email_qs.exists():
raise forms.ValidationError("this email already exists!")
это мой элемент формы:
<input type="password" name="password_confirm" id="confirm-password" tabindex="8" class="form-control" placeholder="confirm" dir="rtl"/>
и это мнение:
def register_view(request):
if request.user.is_authenticated:
return HttpResponseRedirect('/')
form = UserRegisterForm(request.POST or None)
if form.is_valid():
user = form.save(commit=False)
password = form.cleaned_data['password']
user.set_password(password)
user.save()
profile = Profile()
profile.name = form.cleaned_data['name']
profile.family = form.cleaned_data['family']
profile.name = form.cleaned_data['email']
profile.type = form.cleaned_data['type']
profile.save()
login(request, user)
return HttpResponseRedirect('/')
return render(request, 'accounts/signup.html', {'form': form})
это ошибка: KeyError в/регистр/ 'password_confirm'
В чем проблема?