博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django drf 权限permission
阅读量:4449 次
发布时间:2019-06-07

本文共 1359 字,大约阅读时间需要 4 分钟。

https://www.django-rest-framework.org/api-guide/permissions/#custom-permissions

 

from django.shortcuts import renderfrom rest_framework import mixins,viewsetsfrom .serializers import UserFavSerializerfrom .models import UserFavfrom rest_framework.permissions import IsAuthenticated# Create your views here.from rest_framework import permissionsclass IsOwnerOrReadOnly(permissions.BasePermission):    """    Object-level permission to only allow owners of an object to edit it.    Assumes the model instance has an `owner` attribute.    """    def has_object_permission(self, request, view, obj):        # Read permissions are allowed to any request,        # so we'll always allow GET, HEAD or OPTIONS requests.        if request.method in permissions.SAFE_METHODS:            return True        # Instance must have an attribute named `owner`.        return obj.user == request.userclass UserFavSetview(mixins.CreateModelMixin,mixins.ListModelMixin,                     mixins.DestroyModelMixin,viewsets.GenericViewSet):    permission_classes = (IsAuthenticated,IsOwnerOrReadOnly) #需登陆和需要是拥有者    serializer_class = UserFavSerializer    # queryset = UserFav.objects.all()    def get_queryset(self):        return UserFav.objects.filter(user=self.request.user)

PS:可以在view中配置authtication_classes,来指明特定的接口需要授权

转载于:https://www.cnblogs.com/chenyishi/p/10661903.html

你可能感兴趣的文章
C# 之 批量插入数据到 SQLServer 中
查看>>
Visual Studio使用中的问题
查看>>
salesforce零基础学习(七十九)简单排序浅谈 篇一
查看>>
zabbix的源码安装
查看>>
磁盘配额中quotacheck不能创建aquota.user和aquota.group文件的问题
查看>>
2014年生日
查看>>
Django Rest Framework-介绍
查看>>
文件夹的创建(cmd利用)
查看>>
福大软工 · 真 · 最终作业
查看>>
2018.08.10 atcoder No Need(线性dp)
查看>>
css3 动画
查看>>
数组转对象
查看>>
扫描目录下的文件并拼接在一起
查看>>
ELK 分布式日志处理 10.12
查看>>
Java虚拟机详解05----垃圾收集器及GC参数
查看>>
7. 单位,移动布局
查看>>
inux中bin与sbin目录的作用及区别介绍
查看>>
USACO 3.1 Contact
查看>>
Office之什么是高内聚低耦合
查看>>
一些奇怪的问题求回答
查看>>