在我的本地服务器上,我在终端中收到以下错误
[03/Oct/2011 22:49:19] "GET /favicon.ico/ HTTP/1.1" 500 65893
在我的site_base.html中,我已经有了下面的行:
site_base.html
<link rel="icon" href="{{ STATIC_URL }}images/favicon.ico" />
是什么原因导致此错误?如何停止此错误?
aurhwmvo1#
默认的查找浏览器是/favicon.ico。但是,由于您指定了链接,浏览器不应该这样做。很可能是您使用的特定浏览器和版本中存在bug,导致发送额外的请求,但这不是重点。你会得到一个500错误,因为这个特定的请求进入了Django的URL处理机制,无论视图响应什么,都被提供的参数阻塞了。检查您的urls.py并查看哪些模式将接受URL /favicon.ico/,然后,进入相应的视图并查看为什么它会导致阻塞,或者更改模式以使它不会捕获这样的URL,因为它很可能不应该放在首位。
/favicon.ico
/favicon.ico/
q8l4jmvw2#
这可能不是你所面临的100%的问题,但值得一提的是,因为你使用的是存储在静态文件夹中的自定义图标。在Django模板中,你可以manage your static assets like this:
{% load static %} <link rel="shortcut icon" href="{% static 'img/favicon.ico' %}">
不需要将{{ STATIC_URL }}上下文变量发送到模板中。
{{ STATIC_URL }}
vddsk6oq3#
在我的例子中,当我尝试登录admin面板时,问题出现了。我的错误是:
ValueError: unsupported format character 'C' (0x43) at index 34 Internal Server Error: /favicon.ico
这个问题嵌套在我的urls.py中:来自其他用户的建议对我有一点帮助,但最终,documentation改变了游戏规则。
from django.contrib.staticfiles.storage import staticfiles_storage # for `favicon` -> https://simpleit.rocks/python/django/django-favicon-adding/ from . import views urlpatterns = [ path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url('project_foo\logos\media\favicon.ico')))]
我的意思是线:path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url('project_foo\logos\media\favicon.ico')))]
path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url('project_foo\logos\media\favicon.ico')))]
**正如文档中所引用的:**django.contrib.staticfiles将静态文件从每个应用程序(以及您指定的任何其他位置)收集到一个位置,以便在生产环境中轻松使用。
在我的例子中,我指出了一个文件,而不是位置。在用户页面上一切都很好,但在管理面板上抛出了一个错误。我的解决方案是:
`path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url('project_foo\logos\media')))]`
3条答案
按热度按时间aurhwmvo1#
默认的查找浏览器是
/favicon.ico
。但是,由于您指定了链接,浏览器不应该这样做。很可能是您使用的特定浏览器和版本中存在bug,导致发送额外的请求,但这不是重点。你会得到一个500错误,因为这个特定的请求进入了Django的URL处理机制,无论视图响应什么,都被提供的参数阻塞了。
检查您的urls.py并查看哪些模式将接受URL
/favicon.ico/
,然后,进入相应的视图并查看为什么它会导致阻塞,或者更改模式以使它不会捕获这样的URL,因为它很可能不应该放在首位。q8l4jmvw2#
这可能不是你所面临的100%的问题,但值得一提的是,因为你使用的是存储在静态文件夹中的自定义图标。
在Django模板中,你可以manage your static assets like this:
不需要将
{{ STATIC_URL }}
上下文变量发送到模板中。vddsk6oq3#
在我的例子中,当我尝试登录admin面板时,问题出现了。
我的错误是:
这个问题嵌套在我的urls.py中:
来自其他用户的建议对我有一点帮助,但最终,documentation改变了游戏规则。
我的意思是线:
path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url('project_foo\logos\media\favicon.ico')))]
**正如文档中所引用的:**django.contrib.staticfiles将静态文件从每个应用程序(以及您指定的任何其他位置)收集到一个位置,以便在生产环境中轻松使用。
在我的例子中,我指出了一个文件,而不是位置。在用户页面上一切都很好,但在管理面板上抛出了一个错误。
我的解决方案是: