このリンク はプロセスをよく説明しており、django-registration 1.0 で動作します
上記のコードに加えて、いくつかの追加のポインターを次に示します。
名を更新するには、models.py でこれを変更します
def user_registered_callback(sender, user, request, **kwargs):
profile = ExUserProfile(user = user)
profile.is_human = bool(request.POST["is_human"])
user.first_name = request.POST["firstname"]
user.save()
profile.save()
user_registered.connect(user_registered_callback)
そしてforms.pyファイルで
class ExRegistrationForm(RegistrationForm):
is_human = forms.BooleanField(label = "Are you human?:")
firstname = forms.CharField(max_length=30)
lastname = forms.CharField(max_length=30)
最後に、フォームの変更を確認して、適切なテンプレートを作成します。アプリで admin.py というファイルを作成し、次のコードを記述することで、管理画面でプロファイルを確認できます。
from django.contrib import admin
from django.contrib.auth.models import User
from django.contrib.auth.admin import UserAdmin
from prof.models import ExUserProfile
admin.site.unregister(User)
class UserProfileInline(admin.StackedInline):
model = ExUserProfile
class UserProfileAdmin(UserAdmin):
inlines = [ UserProfileInline, ]
admin.site.register(User, UserProfileAdmin)