在创建用户数据之前,引用如下字段
from django.db import models
from django.contrib.auth.models import AbstractUser
通过观察AbstractUser源代码发现里面包含
username、first_name、last_name、email、is_staff、is_active、date_joined
所以在创建新的数据表字段只需要继承,赋予一些新的字段
class UserProfile(AbstractUser):
"""
用户
"""
name = models.CharField(max_length=30, null=True, blank=True, verbose_name="姓名")
#name = models.CharField(max_length=30,default="",verbose_name="姓名")这种形式也OK
birthday = models.DateField(null=True, blank=True, verbose_name="出生年月")
gender = models.CharField(max_length=6, choices=(("male", u"男"), ("female", "女")), default="female",
verbose_name="性别")
mobile = models.CharField(null=True, blank=True, max_length=11, verbose_name="电话")
email = models.EmailField(max_length=100, null=True, blank=True, verbose_name="邮箱")
class Meta:
verbose_name = "用户"
verbose_name_plural = verbose_name
#用于返回用户的姓名
def __str__(self):
return self.name
当然注册用户的时候需要验证码
class VerifyCode(models.Model):
mobile = models.CharField(max_length=11,verbose_name="电话")
code = models.CharField(max_length=11,verbose_name="验证码")
add_time = models.CharField(default=datetime.now,verbose_name="添加时间")
class Meta:
verbose_name = "验证码"
verbose_name_plural = verbose_name
"""
打印对象中具体的属性值,或者你想得到的东西
"""
def __str__(self):
return self.code
add_time需要获取当前时间,而python3里面内置了datetime函数库,正好用来调用,不过datetime是当前编码时间,datetime.now是当前时间这样就可以获取用户的注册时间