我想为我的django函数视图设置多个装饰器。问题是我想不出装修师的顺序该如何安排。
例如,这是我的视图:
@permission_classes([IsAuthenticated])
@api_view(["POST"])
def logout(request):
pass
在这种情况下,第一个装饰器永远不会应用!既不是当请求是POST也不是当它是GET!
当我改变顺序时,变成这样:
@api_view(["POST"])
@permission_classes([IsAuthenticated])
def logout(request):
pass
最后一个装饰器在第一个装饰器之前应用,这不是我想要的顺序。
我希望首先应用装饰器@api_view(["POST"])
,然后是@permission_classes([IsAuthenticated])
。
我该怎么做呢?
这是对'api_view'进行排序的正确方法,将该视图视为由restframework定义的装饰器的API视图。
from rest_framework.decorators import api_view, permission_classes
@api_view(["POST"])
@permission_classes([IsAuthenticated])
def logout(request):
pass