2011-10-03 64 views
2

在我的本地服務器上,我發現了以下錯誤在終端Django的:錯誤500圖標

[03/Oct/2011 22:49:19] "GET /favicon.ico/ HTTP/1.1" 500 65893 

在我site_base.html,我已經有下面一行:

<link rel="icon" href="{{ STATIC_URL }}images/favicon.ico" /> 

是什麼造成這個錯誤,我該如何讓它停止?

+0

500是服務器端錯誤,而不是404頁面無法找到。您可以粘貼完整的回溯以便我們可以看到錯誤嗎? –

+0

我實際上沒有在本地獲得任何回溯。我的頁面加載正常,但是所有的響應都是最後顯示的500錯誤。 – super9

+0

嘗試在settings.py文件中設置DEBUG = True。 –

回答

5

默認的查找瀏覽器所做的是/favicon.ico。但是,由於您指定了鏈接,因此瀏覽器不應該這樣做。在您使用的特定瀏覽器和版本中,很可能有一個錯誤負責發送額外的請求,但這並不重要。

由於該特定請求使其進入Django URL處理機制,並且無論視圖是如何響應,都會因爲提供的參數而窒息,您將收到500錯誤。

檢查您的urls.py並查看哪個模式將接受URL /favicon.ico/。然後,進入相應的視圖,看看爲什麼它會導致它窒息,或者改變模式,使它不會捕獲這樣的URL,因爲它大多可能不應該放在首位。

+0

我的用戶應用程序正在使用這樣的url模式:'url(r'^(?P [^ /] +)/ $','user',name ='user'),'。這是否意味着我不能使用這種特定的網址模式?似乎有點極端,只是爲了容納'/ favicon.ico /'?或者可能是一個完全匹配的例外,指向我不知道在哪裏? – super9

+4

那麼,一般來說,在根目錄下有一個幾乎全部捕獲的urlpattern並不是一個好主意,但是通過將它限制爲實際的slug,可以減少衝突。 'r'^(?P [\ w - ] +)/ $''。那麼,例如帶'.'的東西就不會被捕獲。 –

+0

偉大的技巧感謝。 – super9