Django REST Framework 视图中的authentication_classes 和permission_classes 应该使用列表还是元组定义?

问题描述 投票:0回答:1

我试图了解在 Django REST Framework 的 APIView 中设置authentication_classes 和permission_classes 的最佳实践。具体来说,我看到元组和列表都被用来定义这些属性:

使用元组:

class Home(APIView):
    authentication_classes = (JWTAuthentication,)
    permission_classes = (permissions.IsAuthenticated,)

使用列表:

class Home(APIView):
    authentication_classes = [JWTAuthentication]
    permission_classes = [permissions.IsAuthenticated]

这两种方法似乎都能正常工作,但我不确定是否有任何具体原因更喜欢其中一种。在这种情况下我应该使用列表还是元组?在性能、可读性或遵循 Django REST Framework 的最佳实践方面,使用其中一种相对于另一种是否有任何影响?

我尝试在 Django REST Framework 的 APIView 中对authentication_classes 和permission_classes 使用元组和列表。两者都工作得很好,但我不确定哪一个更好或值得推荐。我期待找到关于此的明确指导。

python django django-rest-framework
1个回答
0
投票

两者工作原理相同。 Django REST Framework 文档 似乎更喜欢列表,所以也许使用列表。

class ListUsers(APIView):
    authentication_classes = [authentication.TokenAuthentication]
    permission_classes = [permissions.IsAdminUser]
© www.soinside.com 2019 - 2024. All rights reserved.