01-重載Django內置User表結構 | Django


# 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.遷移
        # 先把原有的表統統刪除

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM