私はDjangoにかなり大きなプロジェクトを持っています。これはかなり大きなフレームワークであり、かなり多くのアプリ、ミドルウェア、コンテキストプロセッサなどを使用しています。スケールとは、コードベースの一部がリクエストに対して実行される場合、それを望まないでください、なぜそれがしたのかを特定するのは難しいです。デバッガーでリクエスト全体をシングルステップで実行するのと同様に、コードのストレートインスペクションには時間がかかりすぎます。
この特定のケースでは、私の問題は、すべての応答に「Vary:Cookie」が設定されていることです。これには、大量にキャッシュしたいものや、Cookieを必要としないものも含まれます。request.session
結果を使用しない場合でも、一部のミドルウェアまたはコンテキストプロセッサがアクセスしていることを疑っていますが、証明する方法はわかりません。ただし、を介したなどの間接的なアクセスである可能性がありますrequest.user
。そしてもちろん、それはまったく別のものかもしれません。
Pythonでは、効果(「Varyヘッダーが応答に追加されました」)から大規模なコードベースの原因までどのように追跡しますか?