私はホームページ上で登録を可能にしようとしています(登録ボックスはクリックして表示されます)ので、登録を処理するURLはありません。私はget_context_data
を通してフォームを送信しようとしていますが、動作しません。form.is_validが検証されていません
<form action="" enctype="multipart/form-data" method="post">{% csrf_token %}
<div class="registerBox">
{{ form.username }}
{{ form.password }}
<input type="submit" value="register"/>
</div>
</form>
のフィールドが表示さ
base.html
class UserRegistrationForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput)
confirm_password = forms.CharField(widget=forms.PasswordInput)
class Meta:
model = User
fields = [
'username',
'password',
'confirm_password',
]
views.py
class BoxesView(ListView):
template_name = 'polls.html'
def get_context_data(self):
context = super(BoxesView, self).get_context_data()
# login
form = UserRegistrationForm(self.request.POST or None)
context['form'] = form
if form.is_valid():
username = form.cleaned_data['username']
password = form.cleaned_data['password']
user = User.objects.create_user(username, password)
user.save()
return redirect('/')
return context
return context
def get_queryset(self):
pass
forms.py:ここに私のコードですフォームを送信した後は、form.is_validがFalseなのでUserは作成されません。何か案が?
ちょうどまだ 'form.is_valid場合()'ブロックの後に '' form.errors'とform.non_field_errors'を印刷してみ – Zorgan
機能していない、ということ削除:代わりに、このような
post()
方法でそれを行いますどのようなエラーが表示されるかを確認してください。 –