保存分组表数据
在保存数据之前我们需要权限表的数据内容展示在权限中
1、获取权限表数据
接口分析
请求方式: GET /meiduo_admin/permission/simple/
# 保存分组表数据
url(r'permission/simple/$', group.GroupView.as_view({'get': 'simple'})),
请求参数: 通过请求头传递jwt token数据。
返回数据: JSON
[
{
"id": "权限类型id",
"name": "权限类型名称"
},
...
]
返回值 | 类型 | 是否必须 | 说明 |
---|---|---|---|
Id | int | 是 | 权限类型id |
name | 数组 | 是 | 权限类型名称 |
后端实现
from django.contrib.auth.models import Permission, Group
from rest_framework.viewsets import ModelViewSet
from meiduo_admin.serializers.group import GroupSerialzier
from meiduo_admin.utils import UserPageNum
from rest_framework.response import Response
from meiduo_admin.serializers.permission import PermissionSerializer
class GroupView(ModelViewSet):
serializer_class = GroupSerialzier
queryset = Group.objects.all()
pagination_class = UserPageNum
# 获取权限表数据
def simple(self, reqeust):
pers = Permission.objects.all()
ser = PermissionSerializer(pers, many=True) # 使用以前定义的全选序列化器
return Response(ser.data)
运行效果:
2、保存权限表数据
接口分析
请求方式:POST /meiduo_admin/permission/groups/
请求参数: 通过请求头传递jwt token数据。
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
name | str | 是 | 组名称 |
permissions | str | 是 | ["权限id", ...] |
返回数据: JSON
{
"id": "组id",
"name": "组名称"
}
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
id | Int | 是 | 组id |
name | Str | 是 | 组名称 |
后端实现
from django.contrib.auth.models import Permission, Group
from rest_framework.viewsets import ModelViewSet
from meiduo_admin.serializers.group import GroupSerialzier
from meiduo_admin.utils import UserPageNum
from rest_framework.response import Response
from meiduo_admin.serializers.permission import PermissionSerializer
# GroupView继承的是ModelViewSet 所以保存逻辑还是使用同一个类视图
class GroupView(ModelViewSet):
serializer_class = GroupSerialzier
queryset = Group.objects.all()
pagination_class = UserPageNum
# 获取权限表数据
def simple(self, reqeust):
pers = Permission.objects.all()
ser = PermissionSerializer(pers, many=True) # 使用以前定义的全选序列化器
return Response(ser.data)