1

通常当我在我的 django 视图上定义权限时,我会使用这样的东西

@permission_required('comment.add_thread',  raise_exception=True)
def save_comment(request, id=None):
  """ """

但是,当 rest 框架时,我如何告诉 API 方法在执行操作之前检查 comment.add_thread 权限?

4

1 回答 1

1

这完全取决于您如何创建 api 视图,如果您的视图不是通用的,那么您需要创建自己的权限,如下所示:

from rest_framework import permissions

class AddCommentPermission(permissions.BasePermission):

    def has_permission(self, request, view):
        return request.user.has_perm('comment.add_thread')

但是如果您的视图设置了模型属性,那么您只需使用DjangoModelPermissions,如此处所述:

http://django-rest-framework.org/api-guide/permissions.html#djangomodelpermissions

于 2013-09-27T15:57:19.770 回答