からカスタムのユーザー登録フォームを作成しましたUserCreationForm
。登録しようとすると、正常に登録され、新しく作成されたユーザーとそのユーザー名とその電子メールが表示されます。しかし、そのユーザーのパスワードはありません。
admin では、そのユーザーのパスワード フィールドは ですNo password set.
。私が間違っているところを修正してください。ありがとうございました。
フォーム.py:
from album.forms import MyRegistrationForm
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
class MyRegistrationForm(UserCreationForm):
email = forms.EmailField(required=True)
class Meta:
model = User
fields = ('username', 'email', 'password1', 'password2',)
def save(self, commit=True):
user = super(UserCreationForm, self).save(commit=False)
user.email = self.cleaned_data['email']
if commit:
user.save()
return user
ビュー.py:
def register_user(request):
if request.method == "POST":
form = MyRegistrationForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/accounts/register_success/')
else:
form = MyRegistrationForm()
return render(request, 'register.html', {'form':form})