2011-10-03 68 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