在您的 forms.py 中,扩展 DjangoRegistration 表单,如下所示:
class MyExtendedForm(RegistrationForm):
first_name = forms.CharField(widget=forms.TextInput(label="first_name"))
last_name = forms.CharField(widget=forms.TextInput(label="last_name"))
在urls.py 中,告诉django-registration 使用这个扩展形式:
# using my registration form to override the default
(r'^register/$',
register,
{'backend': 'registration.backends.default.DefaultBackend',
'form_class': MyExtendedForm}),
定义user_created以保存额外信息:
def user_created(sender, user, request, **kwargs):
"""
Called via signals when user registers. Creates different profiles and
associations
"""
form = MyExtendedForm(request.Post)
# Update first and last name for user
user.first_name=form.data['first_name']
user.last_name=form.data['last_name']
user.save()
然后,注册来自 django-registration 的信号,以便在处理完任何注册后调用您的函数:
from registration.signals import user_registered
user_registered.connect(user_created)