Я использовал токен-аутентификацию, и она работает нормально, т.е. она аутентифицирует пользователя, а затем пользователь входит в систему. Но в моих представлениях я установил классы разрешений для IsAuthenticated для одного из представлений, и это не так.разрешение пользователю, даже если он является аутентифицированным пользователем.Ниже приведен снимок экрана, на котором написано, что я вошел в систему (jadhav@gmail.com):
и на следующей следующей вкладке:говорит "детали аутентификации не предоставлены":
Может кто-нибудь сказать, что не так?Хорошо, я предоставляю детали: это мои настройки:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated', )
}
Вот как я аутентифицировался:
класс UserLoginAPIView (APIView):
permission_classes = [AllowAny]
serializer_class = UserLoginSerializer
def post(self, request, *args, **kwargs):
data = request.data
serializer = UserLoginSerializer(data=data)
if serializer.is_valid(raise_exception=True):
# new_data = serializer.data
if serializer.data:
user = authenticate(username=request.data['username'], password=request.data['password'])
login(request, user)
print("IsAuthenticated", user.is_authenticated)
token, _ = Token.objects.get_or_create(user=user)
return Response({'token': token.key},
status=HTTP_200_OK)
ДругойПосмотреть, где я ставлю ограничения:
class BoardCreateAPIView (CreateAPIView):
queryset = Boards.objects.all()
serializer_class = BoardCreateSerializer
permission_classes = (IsAuthenticated,)