-4
私はDjangoを初めて使い、現在自分のアプリケーションのユーザー登録フォームを作成しようとしています。誰もが理由を知っていますform.is_valid()はFalseを返していますか?Django:無効なフォーム
forms.py
class RegistrationForm(forms.ModelForm):
username = forms.CharField(widget=forms.TextInput)
password = forms.CharField(widget=forms.PasswordInput)
email = forms.CharField(widget=forms.EmailInput)
class Meta:
model = User
fields = ['username', 'password', 'email']
views.py
def registration(request):
if request.method == 'POST':
form = RegistrationForm(request.POST)
if form.is_valid():
print "valid"
username = form.cleaned_data['username']
email = form.cleaned_data['email']
password = form.cleaned_data['password']
User.objects.create_user(username=username, email=email, password=password)
user = authenticate(username=username, passsword=password)
if user is not None:
login(request, user)
return redirect('/admin')
else:
# return a blank form
print "invalid"
return render(request, 'registration/register.html', {'form': form})
register.htmlは
<div class="container ">
<form method="post" action=".">
{% csrf_token %}
<h2 class="form-signin-heading">Register</h2>
<input type="text" id="inputUsername" class="form-control" placeholder="Username" required autofocus>
<input type="password" id="inputPassword" class="form-control" placeholder="Password" required>
<input type="email" id="inputEmail" class="form-control" placeholder="Email" required autofocus>
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
</form>
いいえ、私たちはおそらくそのことを知ることができますか?なぜあなたはどんな形を見ないのですか?エラーは言う? –
これを変更します: 'email = forms.EmailField(widget = forms.EmailInput)'。 EmailInputは特にEmailFieldのウィジェットです。 –
@DanielRoseman各フィールドに値を入力しても、ユーザー名、電子メール、パスワードに「このフィールドは必須です」と表示されます。 – qp55