我不知道一步一步(尽管我确信一个可靠的谷歌会产生一些东西)。但这里是一个快速的开始。
1) 创建一个UserProfile 模型来保存额外信息并将其放入您的models.py。它可能看起来像这样:
class UserProfile(models.Model):
#required by the auth model
user = models.ForeignKey(User, unique=True)
middle_name = models.CharField(max_length=30, null=True, blank=True)
2) 通过添加此行(使用适当的名称)告诉您的 settings.py 新课程:
AUTH_PROFILE_MODULE = "myapp.UserProfile"
3) 添加一个信号监听器,以便在添加新用户时创建一个空白的UserProfile 记录。您可以在here 找到一个很棒的 sn-p。
4) 处理新用户记录时,您也可以填充UserProfile 记录。这是我如何插入(注意get_profile):
if (form.is_valid()):
cd = form.cleaned_data
user = User.objects.create_user(cd["UserName"], cd["Email"], cd["Password"])
user.first_name = cd["FirstName"]
user.last_name = cd["LastName"]
user.save()
#Save userinfo record
uinfo = user.get_profile()
uinfo.middle_name = cd["MiddleName"]
uinfo.save()
这就是它的全部内容。这并不全面,但应该为您指明正确的方向。
更新:请注意,AUTH_PROFILE_MODULE 自 v1.5 起已弃用:https://docs.djangoproject.com/en/stable/releases/1.5/#auth-profile-module