1. 程式人生 > >django自定義用戶表

django自定義用戶表

address ati port ons 手機號碼 創建 clas ret pan

django中已經給我生成默認的User表,其中的字段已經可以滿足我們的日常需求。

但有時候,我們需要更多的字段,我們就可以自定義。來替換django自帶的User表。

#models.py

from django.contrib.auth.models import AbstractUser

class UserProfile(AbstractUser):
    nick_name = models.CharField(max_length=50, verbose_name=u昵稱)
    birthday = models.DateField(verbose_name=u生日
, null=True, blank=True) gender = models.CharField(max_length=10, choices=(("male", u), ("female", u)), default=female) address = models.CharField(max_length=11, verbose_name=u地址, null=True, blank=True) image = models.ImageField(upload_to=image/%Y/%m, default=u"image/default.png
", max_length=100) phone = models.CharField(max_length=11, verbose_name=u"手機號碼", null=True, blank=True) # image依賴Pillow class Meta: verbose_name = u"用戶信息" verbose_name_plural = verbose_name def __unicode__(self): return self.username

#adminx.py

from xadmin.plugins.auth import
UserAdmin class UserProfileAdmin(UserAdmin): pass

#settings.py

INSTALLED_APPS = [
    ...
    users,
    ....
]

AUTH_USER_MODEL="users.UserProfile"

然後就可以makemigrations,migrate

然後就可以創建超級用戶。如果之前創建過,會被刪除,需要重新創建。

django自定義用戶表