ビューにカスタム デコレータがあり、いくつかのリクエスト変数を処理した後にそのビューをキャッシュする必要があります。私のデコレータコードはこのようなものです
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
例外値: 「関数」オブジェクトに属性「status_code」がありません
at respone を見ると、ビューの応答ではなく関数 myview です。
応答<function myview at 0xb549e534>
私のコードで何が間違っていますか?
更新: warpper 関数の戻り値を変更すると、コードは正常に実行されます
return view_func
。これは、キャッシュ ページ デコレータの適用で何か間違ったことをしているに違いないことを意味します。