权限
在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)),
访问会得到页面:
在models中,在字段中添加help_text="..."添加描述信息(usersprofile无法使用该方法)
在serializers.py中使用help_text="...",给usersprofile添加描述
在views中
使用'''...'''给接口添加描述信息