Tôi không biết từng bước một (mặc dù tôi chắc chắn một google chắc chắn sẽ tạo ra thứ gì đó). Nhưng đây là một cách nhanh chóng đi vào nó.
1) Tạo mô hình UserProfile
để giữ thông tin bổ sung và đặt nó vào models.py
. Nó có thể giống như thế này:
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) Nói settings.py
của bạn về lớp mới bằng cách thêm dòng này (với tên thích hợp):
AUTH_PROFILE_MODULE = "myapp.UserProfile"
3) Thêm một người biết lắng nghe tín hiệu để tạo ra một trống UserProfile
ghi lại khi người dùng mới được thêm vào. Bạn có thể tìm thấy một đoạn trích tuyệt vời với chỉ đường here.
4) Khi xử lý bản ghi người dùng mới, bạn cũng có thể điền bản ghi UserProfile
. Dưới đây là cách tôi làm các việc chèn (chú ý 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()
Đó là tất cả là để có nó. Đây không phải là toàn diện, nhưng nên chỉ cho bạn đi đúng hướng.
Cập nhật: Xin lưu ý rằng AUTH_PROFILE_MODULE
bị phản đối kể từ v1.5: https://docs.djangoproject.com/en/1.5/ref/settings/#auth-profile-module
Nguồn
2010-05-22 05:21:18
vì vậy * bạn * là hàm Django create_user()? :) –
Tôi nghĩ rằng tôi đã được nhưng tiếc là tôi không: (.... Chỉ cần một con người cũ thường xuyên .. Cảm ơn cho rìu chỉnh ngữ pháp. Bất kỳ ý tưởng về làm thế nào để giải quyết vấn đề thực tế của tôi? –