Django认证系统用户模型类位置
django.contrib.auth.models.User
父类AbstractUser介绍
User对象基本属性 创建用户必选:username、password创建用户可选:email、first_name、last_name、last_login、date_joined、is_active 、is_staff、is_superuse判断用户是否通过认证:is_authenticated创建用户的方法
user = User.objects.create_user(username, email, password, **extra_fields)
用户认证的方法
from django.contrib.auth import authenticate user = authenticate(username=username, password=password, **kwargs)
处理密码的方法
设置密码:set_password(raw_password) 校验密码:check_password(raw_password)
思考:为什么要自定义用户模型类?
Django默认用户模型类中没有mobile字段,所以要自定义用户模型类。如何自定义用户模型类?
继承自AbstractUser(可通过阅读Django默认用户模型类的源码得知) 。新增mobile字段。 from django.db import models from django.contrib.auth.models import AbstractUser # Create your models here. 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