2009-10-30 109 views
2

尊敬的Django的專家及廣大用戶:的Django/IE8管理界面怪誕

我一直在使用Django的管理界面對一些數據編輯需求。我在Windows Server 2008上使用它,並使用django-mssql連接到SQL Server後端。 Python 2.6.2 Django 1.1.0 final 0

按照平常的w/Django,這是相當容易設置,並在Firefox上運行得非常好,但使用IE8我間歇性地得到一個令人費解的'Internet Explorer無法顯示此網頁'當我保存一條記錄時。

在日誌中,看起來像典型的保存有一個POST請求返回302狀態,然後GET返回一個可愛的200.這是在Firefox上。在IE8上看起來像有時POST工作,但GET不。

這就是我所做的。任何幫助/這將不勝感激。謝謝。

回答

0

我懷疑這個bug是IE8拒絕正確處理重定向的。

302 POST將瀏覽器推送到200 GET,但是如果瀏覽器從不處理302,那麼Django(或服務器)將不會記錄200 GET,因爲瀏覽器從不打開頁面(服務器只能登錄什麼是訪問,如果瀏覽器沒有撥打電話)。

如果你有Django背後的東西(使用FastCGI或Apache的IIS),請提升日誌以確保渲染時不存在無聲錯誤。我在Vista x64 Ultimate IE8 Beta 2上遇到了同樣的問題,但兼容模式似乎可以解決這個問題 - 仍然存在一些間歇性拒絕重定向的問題。

+0

感謝您的回覆。多一點的信息 - 當玩w/it時,我的Mac上也有一個Django應用程序在後臺打SQLite。我可以訪問這個w /不用擔心使用IE8的另一臺機器。不幸的是,我改變了2個變量(操作系統和數據存儲),但現在讓我對django-mssql感到疑惑。 另外,它並不落後於任何東西 - 現在只是原始的Django。 – sdcharle 2009-11-02 16:18:15

0

我意識到這個帖子現在有點老了,但我最近有完全相同的症狀。經過大量的挖掘,我發現IE8接受cookies的問題不到20分鐘。

在我們的Django項目的settings.py中,我們將屬性SESSION_COOKIE_AGE設置爲10分鐘。一旦我碰到了20分鐘,IE8就沒有登錄問題了。

+0

感謝您的帖子。我試過了,SESSION_COOKIE_AGE = 1200,但我仍然得到'無法顯示頁面'錯誤。自發布以來,我發現幾乎沒有人使用管理員是一個IE8用戶,所以事情一直很好,但它會很好地知道爲什麼事情行爲怪異... – sdcharle 2011-07-18 19:09:15