خدمة favicon.ico مع Django. لماذا الإعدادات. media_url مع django.views.generic.simple.redirect_ إلى العمل فقط على بيئة dev؟
-
27-09-2019 - |
سؤال
لقد وجدت هذا الحل لخدمة Favicon.ico مع Django.
(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) ، والتي تعمل إذا قمت بالوصول إليها مباشرة.
أيه أفكار؟
المحلول
أوصي بعدم خدمة Favicon مع Django إلا إذا كان عليك ذلك على الإطلاق. بدلاً من ذلك ، وضع إعدادًا في تكوين خادم الويب الخاص بك يضيف الاسم المستعار يشير إلى Favicon.
على سبيل المثال ، في أباتشي:
Alias /favicon.ico /path/to/media_url/images/favicon.ico
نصائح أخرى
هذه ليست إجابة مباشرة على سؤالك ، ولكن يمكنك استخدام هذا لـ Favicon:
<link rel="shortcut icon" href="{{ STATIC_URL }}img/favicon.ico" />
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'))
)
لا تنتمي إلى StackOverflow