У меня есть собственный декоратор для представления, и мне нужно кэшировать это представление после обработки некоторых переменных запроса. Мой код декоратора такой
def custom_dec(view_func):
@wraps(view_func, assigned=available_attrs(view_func))
def wrapper(request,filters,*args,**kwargs):
# do some processing on request and filters
return csrf_exempt(cache_page(900, view_func))
return wrapper
и я применил декоратор как:
@custom_dec
def myview(request,filters,*args,**kwargs):
# view code here
Проблема в том, что этот код дает мне ошибку при переходе через промежуточное программное обеспечение:
Тип исключения: AttributeError
Значение исключения: объект «функция» не имеет атрибута «код_статуса».
Когда я смотрю на ответ, это функция myview вместо ответа представления.
ответ <function myview at 0xb549e534>
Что не так в моем коде?
ОБНОВЛЕНИЕ: код работает нормально, если я изменю возврат в функции деформации на return view_func
, что означает, что я должен делать что-то неправильно при применении декоратора страницы кеша.