您当前的位置: 首页 > 

IT之一小佬

暂无认证

  • 1浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

权限表管理之保存权限表数据

IT之一小佬 发布时间:2021-07-31 15:05:58 ,浏览量:1

保存权限表数据

在保存数据之前我们需要权限类表数据内容

1、获取权限类型列表数据

接口分析

请求方式: GET /meiduo_admin/permission/content_types/

    #  获取权限类型列表数据
    url(r'permission/content_types/$', permission.PermissionView.as_view({'get': 'content_types'})),

请求参数: 通过请求头传递jwt token数据。

返回数据: JSON

  [
        {
            "id": "权限类型id",
            "name": "权限类型名称"
        },
        ...
    ]
返回值类型是否必须说明Idint是权限类型idname数组是权限类型名称 后端实现
from django.contrib.auth.models import Permission, ContentType
from rest_framework.viewsets import ModelViewSet
from meiduo_admin.serializers.permission import PermissionSerializer, ContentTypeSerializer
from meiduo_admin.utils import UserPageNum
from rest_framework.response import Response


class PermissionView(ModelViewSet):
    serializer_class = PermissionSerializer
    queryset = Permission.objects.all()
    pagination_class = UserPageNum

    # 获取权限类型数据
    def content_types(self, request):
        # 查询全选分类
        content = ContentType.objects.all()
        # 返回结果
        ser = ContentTypeSerializer(content, many=True)
        return Response(ser.data)

序列化器的定义

class ContentTypeSerializer(serializers.ModelSerializer):
    """
        权限类型序列化器
    """

    class Meta:
        model = ContentType
        fields = ('id', 'name')

运行效果:

2、保存权限表数据

接口分析

请求方式:POST /meiduo_admin/permission/perms/

请求参数: 通过请求头传递jwt token数据。

参数类型是否必须说明namestr是权限名称codenamestr是权限识别名content_typestr是权限类型

返回数据: JSON

  {
        "id": "权限id",
        "name": "权限名称",
        "codename": "权限识别名",
        "content_type": "权限类型"
    }
参数类型是否必须说明idInt是权限idnameStr是权限名称codenamestr是限识别名content_typeint是权限类型

后端实现

# PermissionView继承的是ModelViewSet 所以保存逻辑还是使用同一个类视图
from django.contrib.auth.models import Permission, ContentType
from rest_framework.viewsets import ModelViewSet
from meiduo_admin.serializers.permission import PermissionSerializer, ContentTypeSerializer
from meiduo_admin.utils import UserPageNum
from rest_framework.response import Response


class PermissionView(ModelViewSet):
    serializer_class = PermissionSerializer
    queryset = Permission.objects.all()
    pagination_class = UserPageNum

    # 获取权限类型数据
    def content_types(self, request):
        # 查询全选分类
        content = ContentType.objects.all()
        # 返回结果
        ser = ContentTypeSerializer(content, many=True)
        return Response(ser.data)
关注
打赏
1665675218
查看更多评论
立即登录/注册

微信扫码登录

0.1554s