最後に、 Django Rest Frameworkについて少し混乱している点が 1 つあります。それは、パーミッション クラスと認証クラスの違いです。
これは私のsettings.pyです
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAdminUser',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
),
'PAGINATE_BY': 10
}
そして私の見解では、私は次のことを持っています...
class ProfileList(generics.ListCreateAPIView):
"""
API endpoint that represents a list of users.
"""
permission_classes = (permissions.IsAdminUser,)
model = Profile
serializer_class = ProfileSerializer
def pre_save(self, obj):
obj.owner = self.request.user
上記で想定したことは、有効なトークンを持つユーザーが json リクエストを取得できる一方で、管理者ユーザーのみがブラウザー対応 API にアクセスできるということです。ただし、これは IsAuthenticated がアクセスを許可しているように見えるだけではありませんが、= これにより、ログイン時にユーザーがオンライン バージョンにアクセスできるようになります。
有効なトークンを持つすべてのユーザーがアクセスできるようにしたいのですが、セッションでオンライン API バージョンを表示する権限を持つのは管理者ユーザーだけです。これは可能ですか?