通常当我在我的 django 视图上定义权限时,我会使用这样的东西
@permission_required('comment.add_thread', raise_exception=True)
def save_comment(request, id=None):
""" """
但是,当 rest 框架时,我如何告诉 API 方法在执行操作之前检查 comment.add_thread 权限?
通常当我在我的 django 视图上定义权限时,我会使用这样的东西
@permission_required('comment.add_thread', raise_exception=True)
def save_comment(request, id=None):
""" """
但是,当 rest 框架时,我如何告诉 API 方法在执行操作之前检查 comment.add_thread 权限?
这完全取决于您如何创建 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