ユーザーに独自のサブドメインを与え、後でこのサブドメインを他の使用可能なサブドメインに変更する方法を提供する Pyramid (pyramid_jinja2 を介した Jinja2 テンプレートを使用) アプリケーションに取り組んでいます。
したがって、たとえば、sub.example.com/settings に移動して、サブドメインを「ダブ」に変更できます。この変更を送信すると、dub.example.com/settings にリダイレクトされます。
このセットアップには 1 つの問題があります。サブドメインがリクエスト オブジェクトに保存され、サブドメイン ベースのビューごとにカスタム プレジェネレータがあるためです。sub.example.com にいる間に route_url を呼び出すと、結果がキャッシュされているように見え、サブドメインを変更すると、同じ URL が生成されます。たとえば、サブドメインの変更後 (アプリケーションを再起動するまで)、dub.example.com アドレスのサイトにアクセスしていますが、一部のリンク (メニュー、一部のフォームの「アクション」ターゲット) にはまだ「sub.example.com」があります。この URL はサブドメインの変更前に生成されたためです。
生成された URL がキャッシュされているレベルを見つけるのに問題があり、全体として、それを回避する方法がわかりません。URL 生成のキャッシュを無効にすることは、完璧とは言えません (ただし、これが「あること」だとは今まで知りませんでした)。
その種の問題を解決する最善の方法は何だと思いますか?