Аутентификация на Post DRF

Я получил ошибку на моем DRF. когда я пытаюсь пройти аутентификацию, используя метод post.

токен правильный для администратора. когда я использую безопасный метод, он оказывается успешным, но при использовании метода post нет аутентификации

мой взгляд

class SpecialistListView(ListCreateAPIView):
    authentication_classes = (OAuth2Authentication,)
    permission_classes = (permissions.IsAdminUser,)
    queryset = Specialist.objects.all()
    serializer_class = SpecialistSerializer

Я не понимаю, почему возвращаемый код имеет статус HTTP 401 Unauthorized.

Это не работает на тестировании. Я проверяю, что в почтальоне успешно.

Я использую APIClient из rest_framework.test импорта APIClient

мой test_client

client = APIClient()
client.credentials(HTTP_AUTHORIZATION='Bearer EGsnU4Cz3Mx5bUCuLrc2hmup51sSGz')

class CreateSpecialist(APITestCase):
    fixtures = ['data','data2']
    def setUp(self):
        self.valid_payload = {
            'username': 'julia',
            'nick': 'julia',
            'password': 'intel12345',
            "first_name": "juliana",
            "last_name": "garzon"
        }

def test_create_specialist(self):
    response = self.client.post(
        reverse('specialists'),
        data=json.dumps(self.valid_payload),
        content_type='application/json'
    )
    self.assertEqual(response.status_code, status.HTTP_201_CREATED)

1 ответ

Я просто добавляю учетные данные перед публикацией, и это работает!:D

def test_create_specialist(self):
    self.client.credentials(HTTP_AUTHORIZATION='Bearer EGsnU4Cz3Mx5bUCuLrc2hmup51sSGz')
    response = self.client.post(
        reverse('specialists'),
        data=json.dumps(self.valid_payload),
        content_type='application/json'
    )
    self.assertEqual(response.status_code, status.HTTP_201_CREATED)
Другие вопросы по тегам