我最近將我的django框架從1.3升級到了1.4。今天,我在登錄頁面上運行了一些測試。我有一個開關,用於確定是否應在登錄屏幕上顯示「重置密碼」鏈接。這個測試在1.3以下很好地工作,但不在1.4以下。django 1.4緩存GET到/ login/
我設置我自己的看法和模板登錄頁面如下:
urlpatterns = patterns('framework.views',
url(r'^$', 'index'),
url(r'^login/$', 'login_view'),
url(r'^logout/$', 'logout_view'),
...
在一些進一步的調查我發現,如果我瀏覽到登錄頁面,第一次,它的工作原理。如果我然後從我的urls.py文件(即/ login/entries)中刪除條目,我仍然可以瀏覽到/ login /頁面。即使當我重新啓動django測試服務器時,該URL條目仍然有效。即使刪除了urls.pyc文件也不會給我一個404。它只有當我嘗試和發佈後,我會得到一個404。順便說一句,這個現象不會發生在我的其他一些網站上。
我有一種感覺,爲什麼我的測試失敗的原因是,Django以某種方式以某種神祕的方式緩存/ login/request,因此登錄頁面從不刷新我在屏幕上運行的每個測試。有沒有人知道如何克服這個問題,也可能是爲什麼這個特殊的功能已經改變。它與新實施的template response?有什麼關係?
我愛上了在最古老的訣竅書。原來我在本地機器上安裝了memcache來測試我解決了一些無關的緩存問題。運行測試時,memcached會緩存視圖並導致錯誤。 – Gevious