Создание регистрации пользователя и пользователя django одновременно.Метод сохранения добавляет пользователя независимо от правильной формы - PullRequest
0 голосов
/ 01 ноября 2010

У меня есть приложение для регистрации команды.Пользователь подписывается, чтобы стать частью команды.Когда они делают это, представление добавляет члена команды и добавляет пользователя в базу данных auth.

Однако, когда модель команды возвращает недопустимые данные, метод user.save () добавляет имя пользователя, пароль иэлектронная почта.

Итак, когда пользователь исправляет регистрацию команды и нажимает кнопку "Отправить", ему теперь сообщают, что имя пользователя занято.

То, что я хочу, - это добавление имени пользователя и т. д.ПОСЛЕ ТОГО, КАК член команды был утвержден.

Есть предложения?

Вот мнение:

def register(request, **kwargs):
    if request.method == 'POST':
        form = SimpleRegForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            email = form.cleaned_data['email']
            password = form.cleaned_data['password1']
            user = User.objects.create_user(username, email, password)
            user.save()
            form.save()

            # Send an email to the admin letting them know that a person registered
            subject = render_to_string('teamregistration/email_subject.txt')
            message = render_to_string('teamregistration/email_body.txt',
                                       {'first_name':form.cleaned_data['first_name'], 'last_name':form.cleaned_data['last_name'], 'tbi_region':form.cleaned_data['tbi_region']})
            recipients = ['XXXXXX@XXXXXX.XXX', 'XXXXXX@XXXXXX.XXX']
            send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, recipients)

            return HttpResponseRedirect('/tbi-team-register/registration-submitted/')
    else:
        form = SimpleRegForm()

    return render_to_response('teamregistration/form.html', {'form':form}, context_instance=RequestContext(request))

1 Ответ

0 голосов
/ 29 июля 2011

Все, что вам нужно сделать, это удалить user.save ().

...