场景:在DRF中,我必须编写以下代码行来检查用户的权限
class RetrieveCampaignListView(APIView) :
authentication_classes = [TokenAuthentication]
permission_classes = [IsAuthenticated]
def get(self, request , *args, **kwargs):
if request.user.has_perm('campaign.view_campaign'):
try:
#some view code
except:
return Response({"status":False}, status=status.HTTP_404_NOT_FOUND)
else:
return Response({"status":"Sorry User is not permitted"})
但是我想缩短时间
request.user.has_perm('campaign.view_camapign') and it's else condition
像这样的事情
@check_permission('campaign.view_campaign')
任何帮助都会让人大吃一惊
您可以使用DRF自定义权限:
见:https://www.django-rest-framework.org/api-guide/permissions/#custom-permissions
或者,如果你真的想要一个装饰师,你可以使用类似于:
但这只适用于一个权限字符串
相关问题 更多 >
编程相关推荐