此链接 很好地解释了该过程并与 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)