我有一个团队注册应用程序。用户注册成为团队的一员。当他们这样做时,视图会添加一个团队成员并将用户添加到身份验证数据库中。
但是,当团队模型返回无效数据时,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))