Имя и Фамилия не видны в админ-панели - PullRequest
0 голосов
/ 18 апреля 2019

Я использую Django-Registration, и почему в админ-панели пусто имя и второе имя? Если я пишу все пропуски и нажимаю зарегистрироваться, а затем иду в админ-панель, там есть имя пользователя, пароль и адрес электронной почты, кроме имени и фамилия пуста, и я не знаю почему.

lass UserRegistrationForm(forms.Form):
      firstname = forms.CharField(label='First Name',max_length=50)
      lastname = forms.CharField(label='Last Name',max_length=50)
      username = forms.CharField(label='Username',max_length=50)
      email = forms.EmailField()
    password1=forms.CharField(label='Password',max_length=50,min_length=5)
password2 = forms.CharField(label='Confirm Password',max_length=50,min_length=5)


views.py
def user_registration(request):
form = UserRegistrationForm()
if request.method == 'POST':
    form = UserRegistrationForm(request.POST)
    if form.is_valid():
        username = form.cleaned_data['username']
        password = form.cleaned_data['password1']
        firstname = form.cleaned_data['firstname']
        lastname = form.cleaned_data['lastname']
        email = form.cleaned_data['email']
        user = User.objects.create_user(username,email=email, password=password)
        user.firstname = firstname
        user.lastname = lastname
        user.save()
        messages.success(request,'Thaks for registering {} .Enjoy unlimited access to our recipes .'.format(user.username))
        return HttpResponseRedirect(reverse('accounts:login'))
else:
    form = UserRegistrationForm()   
return render(request,'accounts/register.html',{'form': form})

1 Ответ

0 голосов
/ 18 апреля 2019

Модель по умолчанию User предоставляет атрибуты first_name и last_name.Эти атрибуты следует использовать при сохранении данных.

def user_registration(request):
form = UserRegistrationForm()
if request.method == 'POST':
    form = UserRegistrationForm(request.POST)
    if form.is_valid():
        username = form.cleaned_data['username']
        password = form.cleaned_data['password1']
        firstname = form.cleaned_data['firstname']
        lastname = form.cleaned_data['lastname']
        email = form.cleaned_data['email']
        user = User.objects.create_user(username,email=email, password=password)
        user.first_name = firstname  # use the correct attribute here.
        user.last_name = lastname  # use the correct attribute here.
        user.save()
        messages.success(request,'Thaks for registering {} .Enjoy unlimited access to our recipes .'.format(user.username))
        return HttpResponseRedirect(reverse('accounts:login'))
else:
    form = UserRegistrationForm()   
return render(request,'accounts/register.html',{'form': form})

документы

...