1
の変数が追加されました。しかし、見解では、djangoはそれを知らない。 htmlファイル内の 、私は手動でフォームを作成しました。django-私のフォームはattrubute 'password_confirm'を持っていますが、私のフォームにはわからない
私のフォームコードは:
<input type="password" name="password_confirm" id="confirm-password" tabindex="8" class="form-control" placeholder="confirm" dir="rtl"/>
、これは図:
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!")
これは私のフォーム要素である
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'
何が問題ですか?