通过post方法限制访问api查看装饰器Django
Limit access api view decorator Django through post method
我创建了一个名为 "Experts" 的用户组,我也安装了 Django 的 rest_framework。我可以通过 api 访问我的项目和所有项目的评论。好吧,我应该通过 api 将 post 操作限制为评论。此操作仅对专家的用户可用。我的 views.py 中有以下代码(我只是 post 重要代码):
from .serializers import FeedbackSerializer
class FeedbackViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows Items to be viewed or edited.
"""
queryset = Feedback.objects.all().order_by('user')
serializer_class = FeedbackSerializer
def create(self, request, *args, **kwargs):
self.permission_classes = ['IsAdminUser',]
return super(FeedbackViewSet, self).create(self, request, *args, **kwargs)
我正在查看有关 restful api 的官方文档,但我不明白如何用 (@api_view('POST'),@permission_classes((IsAdminUser, )))
覆盖通过 api 调用的方法来显示所有评论
class MyViewset(ModelViewSet):
queryset = MyThing.objects.all()
serializer_class = MyThingSerializer
def update(self, request, pk=None, **kwargs):
self.permission_classes = [CustomPermission,]
return super(MyViewset, self).update(request, pk, **kwargs)
我创建了一个名为 "Experts" 的用户组,我也安装了 Django 的 rest_framework。我可以通过 api 访问我的项目和所有项目的评论。好吧,我应该通过 api 将 post 操作限制为评论。此操作仅对专家的用户可用。我的 views.py 中有以下代码(我只是 post 重要代码):
from .serializers import FeedbackSerializer
class FeedbackViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows Items to be viewed or edited.
"""
queryset = Feedback.objects.all().order_by('user')
serializer_class = FeedbackSerializer
def create(self, request, *args, **kwargs):
self.permission_classes = ['IsAdminUser',]
return super(FeedbackViewSet, self).create(self, request, *args, **kwargs)
我正在查看有关 restful api 的官方文档,但我不明白如何用 (@api_view('POST'),@permission_classes((IsAdminUser, )))
覆盖通过 api 调用的方法来显示所有评论
class MyViewset(ModelViewSet):
queryset = MyThing.objects.all()
serializer_class = MyThingSerializer
def update(self, request, pk=None, **kwargs):
self.permission_classes = [CustomPermission,]
return super(MyViewset, self).update(request, pk, **kwargs)