如果要创建一个用户,需要设置各种字段、组、权限、cookie管理、密码处理等,比较麻烦,所以Django已经为我们创建了一个抽象用户,我们只需要继承它,然后添加自己的字段即可
用户基本属性和常用方法
属性或方法说明username用户名(必要)password密码(必要)email邮件first_name名字last_name姓氏is_staff是否管理员create()创建一个普通用户create_user()创建一个普通用户,密码加密create_superuser()创建一个超级用户(email必要)set_password(pwd)设置密码创建用户要导入认证模型类里的User,再用User对象去创建用户
from django.contrib.auth.models import User User.objects.create(username='laowang',password='123')显然Django自带的用户模型类User是不能满足我们的需求的,比如说我们还需要添加手机号、是否记住密码等其他自定义字段,所以我们可以自定义模型类,然后继承Abstract
这里在users.models.py 文件中, 定义一个类User,增加手机号字段
from django.db import models from django.contrib.auth.models import AbstractUser # 继承AbstractUser class User(AbstractUser): mobile = models.CharField(max_length=11, unique=True, verbose_name='手机号') class Meta: db_table = 'tb_users' verbose_name = '用户' verbose_name_plural = verbose_name def __str__(self): return self.username我们需要配置才能使用自定义的模型类,‘应用名称.User’, 打开项目的配置文件(这里是dev.py)
# AUTH_USER_MODEL = 'auth.User' 这是系统默认值 AUTH_USER_MODEL = 'users.User'完成数据迁移即生成数据表(关于Django数据库的配置这里忽略)
python manage.py makemigrations python manage.py migrate