request.user.is_authenticated всегда ложно в структуре отдыха Django - PullRequest
0 голосов
/ 13 ноября 2018

Я использую allauth для аутентификации в drf.Я смог зарегистрировать новых пользователей и войти в систему с учетными данными.Ответ API возвращает ответ примерно так:

{
 "key" : "<some token>"
}

Теперь у меня есть еще 1 API, код для которого

    from django.http import HttpResponse
    def lol(request):
        if request.user.is_authenticated:
            return HttpResponse("Authenticated")
        else:
            return HttpResponse("Not Authenticated")

Но это всегда возвращает не аутентифицированный мой вызов API выглядитэто enter image description here

Вот список установленных приложений в моих settings.py

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'rest_framework.authtoken',
'rest_auth',
'django.contrib.sites',
'allauth',
'allauth.account',
'rest_auth.registration',

'api.user',
'api.activity',
]

1 Ответ

0 голосов
/ 13 ноября 2018

Кажется, вы используете функциональные представления? Если да, то вы добавили @api_view декоратор в представление?

Если да, то вы добавили authentication_classes=[TokenAuthentication] аргумент ключевого слова? Крайне важно, чтобы токен работал.

Либо так, либо установите следующее в settings.py:

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.TokenAuthentication'
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...