Пользовательское значение create_user ()? - PullRequest
2 голосов
/ 17 января 2010

Регистрация обычно принимает 3 аргумента.

-username

-Password

-Email

Но когда я пытаюсь добавить 4-е значение, он возвращает эту ошибку:

create_user () получил неожиданный аргумент ключевого слова 'hobby'

Есть идеи, как это решить?

Вот форма Я использую:

    def save(self):
        new_user = User.objects.create_user(
          username=self.cleaned_data['username'],
          password=self.cleaned_data['password1'],
          email=self.cleaned_data['email'],
          hobby=self.cleaned_data['hobby'])
        return new_user

А вот представление Я использую

def register_page(request):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            new_user = form.save()
            return HttpResponseRedirect("/")
    else:
        form = RegistrationForm()
    return render_to_response("registration/register.html", {'form': form})

Чтобы ответить на мой собственный вопрос и, возможно, помочь другим с подобной проблемой, вот что я сделал:

    def save(self):
        new_user = User.objects.create_user(
          username=self.cleaned_data['username'],
          password=self.cleaned_data['password1'],
          email=self.cleaned_data['email'])
        new_user.hobby=self.cleaned_data['hobby']
        new_user.save()
        return new_user

1 Ответ

2 голосов
/ 17 января 2010

Вы не можете изменить модель пользователя, но вы можете прикрепить к ней профиль, который будет содержать всю эту дополнительную информацию. Прочитайте это , чтобы узнать больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...