# django自帶user表,auth_user中包含默認字段有: # password,last_login,is_superuser,username, # first_name,last_name,email,is_staff,is_active,deta_joined 1.分析網站需要的user字段 # 自定義user表 # 繼承django內置user表的類AbstractUser from django.contrib.auth.models import AbstractUser class UserProfile(AbstractUser): # 添加自己需要但是默認表中不具備的字段 nick_name = models.CharField(max_lengh=50, verbose_name="") # 該字段可以不填,因為用戶注冊的時候不需要輸入 birth = models.DateField(verbose_name="生日", null=True, blank=True) # CharField字段一定要加上長度限制 gender = models.CharField( max_lengh=6, choices=( ('male', '男'), ('female', '女')), ) address = models.CharField(max_length=100, default="") mobile = models.CharField(max_lengh=11, null=True, blank=True) # 頭像文件字段,當沒有頭像的時候需要一個默認的頭像 # ImageField字符需要安裝pillow包 image = models.ImageField(upload_to="image/%Y/%m", default="image/default.png", max_lengh=100) class Meta: verbose_name = "用戶信息" verbose_name_plural = verbose_name def __str__(self): return self.username 2.重載表結構需要添加設置 AUTH_USER_MODEL = "users.UserProfile" # app+模型類 3.遷移 # 先把原有的表統統刪除
