自定义userProfile
系统自动生成的user表如下
- id: 主键, password 密码, last_login Django自动记录用户最后登录时间,。
- is_superuser 表明用户是否是超级用户(后台管理会用到)。
- username 用户名字段不要随便改动,
- email 邮箱,is_staff 表示是否是员工(后台管理会用到)。
- is_active 用户是否是激活状态, date_joined 注册时间。
自定义用户表步骤:
- 创建一个类,继承AbstractUser类
- 在该类添加字段
- 在setting.py中如下代码: AUTH_USER_MODEL = 'users.UserProfile' 配置默认用户表
# users/models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
class UserProfile(AbstractUser):
gender_choices = (
('male','男'),
('female','女')
)
nick_name = models.CharField('昵称',max_length=50,default='')
birthday = models.DateField('生日',null=True,blank=True)
gender = models.CharField('性 别',max_length=10,choices=gender_choices,default='female')
adress = models.CharField('地址',max_length=100,default='')
mobile = models.CharField('手机号',max_length=11,null=True,blank=True)
models.ImageField(upload_to='image/%Y%m',default='image/default.png',max_length=100)
class Meta:
verbose_name = '用户信息'
verbose_name_plural = verbose_name
def __str__(self):
return self.username
#注意:在django2.0中外键需要加上 on_delete=models.CASCADE 级联删除
#setting.py
AUTH_USER_MODEL = 'users.UserProfile'
django中配置Mysql数据库
#setting.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mxonline', #数据库名字
'USER': 'root', #账号
'PASSWORD': '123456', #密码
'HOST': '127.0.0.1', #IP
'PORT': '3306', #端口
}
}
# user/__init__.py
import pymysql
pymysql.install_as_MySQLdb()