2012-06-05 20 views
0

我最近將我的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?有什麼關係?

回答

2

你使用firefox嗎?嘗試刪除Firefox緩存,或任何瀏覽器的緩存,你正在使用...

昨天我遇到了同樣的問題。我環顧四周,發現很多人有這個問題。看看this ...

不要怪Django的,因爲我在第一個地方做;)(我指責我以後,知道真正的問題)之前...

讓我們責怪協議:P

希望這能解決您的問題!

編輯: 在這裏,你有你的問題的一些可能的解決方案(如果你使用Firefox):

1)http://support.mozilla.org/es/questions/848678

2)https://superuser.com/questions/23134/how-to-turn-off-firefox-cache

+0

我愛上了在最古老的訣竅書。原來我在本地機器上安裝了memcache來測試我解決了一些無關的緩存問題。運行測試時,memcached會緩存視圖並導致錯誤。 – Gevious