Невозможно получить доступ к заголовкам запроса в декораторе - django 4.0.4
Использование представлений на основе классов. У меня есть декоратор, который извлекает заголовки для проверки. Однако я получаю эту ошибку при доступе к заголовкам запроса в декораторе: Исключение декоратора Объект 'DetailsView' не имеет атрибута 'headers'. Я должен подчеркнуть, что обращение к заголовкам запроса в функции представления работает нормально.
Функция просмотра:
class DetailsView(View):
@check_access
def get(self, request):
res = {
'status': 200,
'response': 'heeaders test.',
'test': 'okay'
}
return HttpResponse(JsonResponse(res, safe=False), content_type='text/json')
Декоратор:
def check_access():
def decorator(view_function):
def wrap(request, *args, **kwargs):
try:
print("headers", request.headers)
return view_function(request, *args, **kwargs)
except Exception as e:
return HttpResponse('Unauthorized', status=401)
return wrap
return decorator
Будьте добры, помогите. Заранее спасибо.
Удалите 'def check_access():' и измените функцию decorate на check_access. И переместите аргумент 'self'.
в функции просмотра
class DetailsView(View):
@check_access
def get(request): # Delete Self
....
в декораторе
def check_access(view_function):
def wrap(self, request, *args, **kwargs): # add self
...
return wrap
Ссылка на сайт : Декоратор