权限

2019-10-23  本文已影响0人  快去学习不然怎么去看aimer

权限

在views中:

from rest_framework import permissions

# class IsOwnerOrReadOnly(permissions.BasePermission):    #每个用户只能看到自己的
#     def has_object_permission(self, request, view, obj):
#         return obj.username == request.user.username

class IsOwnerOrReadOnly(permissions.BasePermission):      
    def has_permission(self, request, view):
        return True                                                                    #返回true,则可以通过验证,反之。

class UsersViewSet(viewsets.ModelViewSet):

    authentication_classes = [JSONWebTokenAuthentication]
    permission_classes = (IsAuthenticated,IsOwnerOrReadOnly,)
    queryset = UsersProfile.objects.all()
    serializer_class = UsersSerializer

在urlsH中:
from rest_framework.routers import DefaultRouter

router = DefaultRouter()
router.register('users-all', ref_views.UsersViewSet)

API文档

在settings中:
REST_FRAMEWORK = {
    'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',
}

在根urls中:
    path('docs/', include_docs_urls(title=API_TITLE, description=API_DESCRIPTION)),

访问会得到页面:

API Title

在models中,在字段中添加help_text="..."添加描述信息(usersprofile无法使用该方法)
在serializers.py中使用help_text="...",给usersprofile添加描述
在views中
使用'''...'''给接口添加描述信息

上一篇 下一篇

猜你喜欢

热点阅读