【发布时间】:2016-03-16 12:48:19
【问题描述】:
我正在开发 django rest 框架。我在权限方面遇到问题。 我想向管理员用户授予 GET 和 POST 权限,而仅向其他用户授予 POST 权限(真实)。到目前为止,我已经编写了以下代码:
pemissions.py
class UserAccessPermission(permissions.BasePermission):
def has_permission(self, request, view):
if request.method == 'GET' or request.method == 'POST':
return request.user and request.user.is_staff
if request.method == 'POST':
return request.user and request.user.is_authenticated()
此代码未按预期工作。只有管理员用户能够 GET 和 POST。其他用户没有获得任何许可。
各位帮忙。 提前致谢。
已编辑
class UserAccessPermission(permissions.BasePermission):
def has_permission(self, request, view):
if request.method == 'POST':
return request.user and request.user.is_authenticated()
elif request.method == 'GET':
return request.user and request.user.is_staff
【问题讨论】:
-
这段代码根本没有意义。 elif 块永远不会被执行
-
好吧,我忘了编辑
标签: python django django-rest-framework