使用 Django 提供 favicon.ico。为什么带有 django.views.generic.simple.redirect_to 的 settings.MEDIA_URL 仅适用于开发环境?

发布于 2024-09-14 02:37:03 字数 353 浏览 8 评论 0原文

我找到了使用 django 提供 favicon.ico 的解决方案。

(r'^favicon\.ico$',
  'django.views.generic.simple.redirect_to',
  {'url': settings.MEDIA_URL+'images/favicon.ico'}),

我不明白为什么它只适用于开发服务器。 转到 /favicon.ico 在 dev 上有效,但在 debug=False 上无效。 它应该重定向到 /media/images/favicon.ico (由 apache 提供),如果您直接访问它,它就可以工作。

有什么想法吗?

I found this solution for serving favicon.ico with django.

(r'^favicon\.ico

I do not understand why it only works for the development server.
Going to /favicon.ico works on dev, doesn't with debug=False.
It should redirect to /media/images/favicon.ico (served by apache), which does work if you access it directly.

Any ideas?

, 'django.views.generic.simple.redirect_to', {'url': settings.MEDIA_URL+'images/favicon.ico'}),

I do not understand why it only works for the development server.
Going to /favicon.ico works on dev, doesn't with debug=False.
It should redirect to /media/images/favicon.ico (served by apache), which does work if you access it directly.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

紫罗兰の梦幻 2024-09-21 02:37:03

我建议不要使用 django 提供 favicon,除非绝对必要。相反,您可以在 Web 服务器配置中添加一个设置,添加指向该图标的别名。

例如,在阿帕奇中:

Alias /favicon.ico /path/to/media_url/images/favicon.ico

I'd recommend against serving the favicon with django unless you absolutely have to. Instead, putting a setting in your web server config that adds an alias pointing to the favicon.

For example, in apache:

Alias /favicon.ico /path/to/media_url/images/favicon.ico
叶落知秋 2024-09-21 02:37:03

这不是对您问题的直接回答,但您可以将其用于网站图标:

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

This is not direct answer to you question, but you can use this for favicon:

<link rel="shortcut icon" href="{{ STATIC_URL }}img/favicon.ico" />
ㄟ。诗瑗 2024-09-21 02:37:03

redirect_to 已在 Django 1.5 中已弃用。您可以使用基于类的 RedirectView

from django.conf import settings
from django.views.generic import RedirectView

urlpatterns = patterns('',
    (r'^favicon\.ico
, RedirectView.as_view(url=settings.MEDIA_URL + 'images/favicon.ico'))
)

redirect_to has been deprecated in Django 1.5. You can use the class based RedirectView

from django.conf import settings
from django.views.generic import RedirectView

urlpatterns = patterns('',
    (r'^favicon\.ico
, RedirectView.as_view(url=settings.MEDIA_URL + 'images/favicon.ico'))
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文