最近、djangoフレームワークを1.3から1.4にアップグレードしました。今日、私はログインページでいくつかのテストを実行しました。ログイン画面に「パスワードのリセット」リンクを表示するかどうかを決定するスイッチがあります。このテストは1.3未満ではうまく機能しましたが、1.4未満では機能しません。
ログインページ用に独自のビューとテンプレートを次のように設定しました。
urlpatterns = patterns('framework.views',
url(r'^$', 'index'),
url(r'^login/$', 'login_view'),
url(r'^logout/$', 'logout_view'),
...
さらに調査したところ、最初にログインページを参照すると、機能することがわかりました。その後、urls.pyファイルからエントリ(つまり、/ login /エントリ)を削除しても、/login/ページを参照できます。djangoテストサーバーを再起動しても、そのURLエントリは引き続き有効です。urls.pycファイルを削除しても404は表示されません。投稿しようとすると404が表示されます。ちなみに、この現象は他の一部のURLでは発生しません。
テストが失敗する理由は、djangoが何らかの不思議な方法で/ login /リクエストをキャッシュするため、画面で実行するテストごとにログインページが更新されないためだと感じています。誰かがこの問題を克服する方法を知っていますか、そしておそらくこの特定の機能が変更された理由も知っていますか?新しく実装されたテンプレートの応答と関係がありますか??