# 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.迁移 # 先把原有的表统统删除