1 什么是用户自带的用户模块
答:Django提供的用户系统可以快速实现基本的功能,并可以在此基础上继续扩展以满足我们的需求。类似写好的模板。
2 自带的用户模块提供的功能
1:提供用户模块(User Model)
2:权限验证(默认添加已有模块的增加删除修改权限)
3:用户组与组权限功能
4:用户鉴权与登录功能
5:与用户登录验证相关的一些函数与装饰方法
3 使用方法
1 setting 中配置
# 此处代码的作用是应为使用了 AbstractUser 继承了公用的用户模块 所以要在setting中声明
AUTH_USER_MODEL = "userapp.User"
#########
2 对应userapp的models里面创建User表
models 导入
from django.contrib.auth.models import AbstractUser
创建表
除去模板的字段还可以加入自己的字段
# 用户表
class User(AbstractUser):
username = models.CharField(max_length=64, unique=True)
password = models.CharField(max_length=255)
phone = models.CharField(max_length=64)
token = models.CharField(max_length=255)
roles = models.ManyToManyField(Role, related_name="users")
4 权限管理
1 导入模块 手动添加权限
from rest_framework.permissions import AllowAny, IsAdminUser, IsAuthenticated # 权限管理
一共三种模式 还有一种可以手动创建
class User_text(APIView):
# permission_classes = [AllowAny] # 所有用户
permission_classes = [IsAdminUser] # 超级用户 is_staf 决定权限
# permission_classes = [IsAuthenticated] # 带token用户
# permission_classes = [ClassBeiyongquanzianguanli] # 自定义权限 或许可以稍加RBAC