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)