教育平台用户信息模型类(一)

关于用户的模型类
#关于用户信息  <字段来自于个人中心个人信息页>
class UserProfile(AbstractUser):
    #昵称
    nickname = models.CharField(max_length=30,verbose_name=u'昵称',null=True,blank=True)
    #生日
    birthday = models.DateField(verbose_name=u'生日',null=True,blank=True)
    #性别
    sex = models.CharField(
        max_length=10,choices=(('woman','女'),('man',u'男')),
        default='man',verbose_name=u'性别'
    )
    #地址
    address = models.CharField(max_length=50,verbose_name=u'地址',default='')
    #手机号
    mobile = models.CharField(max_length=11,verbose_name=u'手机号',default='')
    #头像  /%Y/%m  年/月  ImageField需要设置字段长度
    profile_photo = models.ImageField(
        upload_to='profile_photo/%Y/%m',
        verbose_name=u'用户头像',
        default='profile_photo/default.png',
        max_length=100
    )

    #设置 meta信息  即是后台显示模型类的名字
    class Meta:
        verbose_name = u'用户信息'
        verbose_name_plural = verbose_name

    #重载str方法  在后台显示当前这个类的名字,使后台不再直接显示object
    def __str__(self):
        #username是父类的字段
        return self.username

#邮箱验证码
class EmailCord(models.Model):
    #验证码
    code = models.CharField(max_length=30,verbose_name=u'验证码')
    #需要验证的邮箱
    email = models.EmailField(max_length=50,verbose_name=u'邮箱')
    #验证的类型
    send_type = models.CharField(
        max_length=30,
        choices=(('register',u'注册'),('forget',u'忘记密码'),('update','修改密码')),
        verbose_name=u'验证类型'
    )
    #now()是编译的时间  now是实例化的时间
    send_time = models.DateTimeField(
        default= datetime.now,
        verbose_name=u'发送时间'
    )
    #后台显示表的名字
    class Meta:
        verbose_name = u'邮箱验证码'
        verbose_name_plural = verbose_name

    #重载str方法
    def __str__(self):
        return self.email

#轮播图
class Banner(models.Model):
    #标题
    title = models.CharField(max_length=100,verbose_name=u'轮播图标题')
    #照片
    image = models.ImageField(
        upload_to='Banner_image/%Y%m',
        verbose_name=u'轮播图图片'
    )
    #点击轮播图转向的url
    url = models.URLField(max_length=100,verbose_name=u'访问地址')
    #轮播图显示的顺序
    index = models.IntegerField(default=100,verbose_name=u'访问顺序')
    #添加的时间
    add_time = models.DateTimeField(
        default=datetime.now,
        verbose_name=u'添加时间'
    )

    class Meta:
        verbose_name = u'轮播图'
        verbose_name_plural = verbose_name

    def __str__(self):
        return '{0}(位于第{1}位)'.format(self.title,self.index)
在setting中配置模型类  

    #此处重载为了使userProfile
    AUTH_USER_MODEL = 'users.UserProfile'


猜你喜欢

转载自blog.csdn.net/weixin_39820334/article/details/80611281