私はカスタムミドルウェアを持っています。私はカスタムミドルウェアを持っていて、process_view中にトークンを取得しています。そして、このトークンをレンダリング結果htmlに渡す必要があります。django middleware.process_viewからテンプレートコンテキストにデータを渡す
私はcontext_processorがコンテキストを変更するのに適していると思っていましたが、ミドルウェアから一部のデータをプロセッサに渡すのは難しいようです。
しかし、process_viewとコンテキストプロセッサで通信する唯一の方法はリクエストオブジェクトだと思われます。そして、もし私が 'WSGIRequest'オブジェクトがアイテム割り当てのエラーをサポートしていないという要求に任意のフィールドを設定すると、ここにコードがあります:
def process_view(self, request, view_func, view_args, view_kwargs):
...
with log(request, view_func.__name__, info) as id:
request['TOKEN_ID'] = logger.get().get_id() #here is an error
response = view_func(request, *view_args, **view_kwargs)
私は間違ったことをしています。 middleware.process_viewとcontext_processorに通信する方法はありますか?それとも、ミドルウェアからHTMLにデータを渡す別の方法を変更する必要がありますか?あなたは辞書項目の割り当てを試してみて、使用するときにエラーが発生し
うん、私はコードを追加しようと思ったが、実際にそれは私が信じていることをとても簡単で、「デフォルト」に見えましたそれは必要ではないということです。とにかく、それは私のコードの問題だったので、私はそれを追加しました。ありがとう! – Paul