同步登录及退出
1.准备登陆的Django模板、表单
2.设计用户模型
3.实现用户的同步登录
4.添加登录拦截
5.实现退出登录功能
#重写父类函数
#搞视图
#写成url地址
(1)设计用户模型
tripserver---accounts---models.py
class Profile(models.Model):
#用户详细信息
#性别
#手机号码
#年龄
#生日
#真实姓名
SEX_CHOICE={
(1,'男'),
(0, '女')
}
username=models.CharField('用户名',max_length=64,unique=True,editable=False)
user=models.OneToOneField(User,related_name='profile',on_delete=models.CASCADE)
real_name=models.CharField('真实姓名',max_length=32)
email=models.CharField('电子邮件',max_length=128)
is_email_valid=models.BooleanField('邮箱是否已经验证',default=False)
phone_no=models.CharField('手机号码',max_length=20,null=True,blank=True)
is_phone_valid=models.BooleanField('是否已经验证',default=False)
sex=models.SmallIntegerField('性别',default=1,choices=SEX_CHOICE)
age=models.SmallIntegerField('年龄',default=0)
source=models.CharField('登陆的来源',max_length=16,null=True)
version=models.CharField('登陆的版本',max_length=16,null=True)
created_at=models.DateTimeField('创建时间',auto_now_add=True)
updated_at=models.DateTimeField('修改时间',auto_now=True)
class Meta:
db_table='accounts_user_profile'
class LoginRecord(models.Model):
#用户登录日志
#登录账号
#登录时间
#ip
#登录来源
#登陆的客户端版本号
user=models.ForeignKey(User,related_name='login_records',on_delete=models.CASCADE)
username=models.CharField('登录的账号',max_length=64)
ip=models.CharField('IP',max_length=32)
address=models.CharField('地址',max_length=32,null=True,blank=True)
source=models.CharField('登录的来源',max_length=16,null=True)
version=models.CharField('登录的版本',max_length=16,null=True)
created_at=models.DateTimeField('登录时间',auto_now_add=True)
class Meta:
db_table='accounts_login_record'
2.准备登陆的Django模板,表单
3.在总工程目录下配置模板路径----settings.py