Django-rest-knox - как аутентифицировать токен для проверки электронной почты?

Я пытаюсь установить проверку электронной почты с помощью django-rest-knox. Ссылка отправляется. Когда я использую следующее:

from knox.auth import TokenAuthentication

class VerifyEmailAPI(generics.GenericAPIView):
    def get(self, request):
        # Get the token from request
        # token = request.GET.get('token')
        # print(token)
        user = TokenAuthentication.authenticate(request, self)
        print(user)
        return Response({'message': 'Just testing for now'})

Урл:

http://127.0.0.1:8000/api/auth/email-verify/?token=58cab01ad07801dbe5e6c4fc5c6c7ef060bf7912cb723dc70e4c5fb677fbbf1e

Я получаю эту ошибку:

AttributeError: объект 'VerifyEmailAPI' не имеет атрибута 'META'

Завершённое отслеживание:

Отслеживание (последний последний вызов): Файл "/Users/sid/eb-virt/lib/python3.8/site-packages/django/core/handlers/exception.py", строка 55, in inner response = get_response(request) Файл "/Users/sid/eb-virt/lib/python3.8/site-packages/django/core/handlers/base.py", строка 197, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) Файл "/Users/sid/eb-virt/lib/python3.8/site-packages/django/views/decorators/csrf.py", строка 54, в wrapped_view return view_func(*args, **kwargs) Файл "/Users/sid/eb-virt/lib/python3.8/site-packages/django/views/generic/base.py", строка 84, in view return self.dispatch(request, *args, **kwargs) Файл "/Users/sid/eb-virt/lib/python3.8/site-packages/rest_framework/views.py", строка 509, в dispatch response = self.handle_exception(exc) Файл "/Users/sid/eb-virt/lib/python3.8/site-packages/rest_framework/views.py", строка 469, в handle_exception self.raise_uncaught_exception(exc) Файл "/Users/sid/eb-virt/lib/python3.8/site-packages/rest_framework/views.py", строка 480, в raise_uncaught_exception raise exc Файл "/Users/sid/eb-virt/lib/python3.8/site-packages/rest_framework/views.py", строка 506, в dispatch response = handler(request, *args, **kwargs) Файл "/Volumes/coding/fort_dev/accounts/api.py", строка 75, в get user = TokenAuthentication.authenticate(request, self) Файл "/Users/sid/eb-virt/lib/python3.8/site-packages/knox/auth.py", строка 37, in authenticate auth = get_authorization_header(request).split() Файл "/Users/sid/eb-virt/lib/python3.8/site-packages/rest_framework/authentication.py", строка 20, в get_authorization_header auth = request.META.get('HTTP_AUTHORIZATION', b'') AttributeError: у объекта 'VerifyEmailAPI' нет атрибута 'META'

.

Я делаю что-то принципиально неправильное при использовании функции django-rest-knox?

Вернуться на верх