Я не знаю, шаг за шагом (хотя я уверен, что надежный Google будет что-то производить). Но вот быстрый взгляд на это.
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
при добавлении нового пользователя. Вы можете найти отличный фрагмент с указаниями здесь .
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
устарело с версии 1.5: https://docs.djangoproject.com/en/1.5/ref/settings/#auth-profile-module