Я создаю проект и сначала собрал его, я использовал резак печенья https://cookiecutter -django.readthedocs.io / en / latest / .
Этот шаблонбыл полезен для меня, но сейчас я пытаюсь создать API для своего проекта, и у меня возникают некоторые проблемы с процедурой аутентификации.
Все работает нормально, но процесс представления аутентифицируется с помощью отправленного токенав шапке. Я имею в виду следующее представление:
class HelloView(APIView):
permission_classes = (IsAuthenticated,)
def get(self, request):
content = {'message': 'Hello, World!'}
return Response(content)
Затем я просто отправляю http-запрос на соответствующий URL-адрес, отправляя токен, например:
http http://127.0.0.1:8000/api/hello/ 'Authorization: Token 8b59a60cd91c29f4e2a7be54fbd6d32c7bd57377'
Затем ответ Iget is:
{
"detail": "Authentication credentials were not provided."
}
Тогда, если я введу URL-адрес с помощью браузера, он скажет то же самое, если я ранее не вошел в систему администратора Django. По этой причине, я думаю, что в основном происходит некоторая проблема конфигурации в процедуре аутентификации. Я добавил следующие переменные в мои настройки:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
],
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
]
}
Но я ничего не изменил по сравнению с проверкой подлинности по шаблону cookiecutter, так что, как я уже сказал, я думаю, что это может быть проблема, хотя я не знаюкак решить эту проблему.
Мой последний вопрос: знаете ли вы, как изменить способ аутентификации при наличии класса разрешений?