開発中に favicon.ico を提供するにはどうすればよいですか? urlconf にルートを追加することはできますが、そのルートを本番環境に引き継がせたくありません。local_settings.py でこれを行う方法はありますか?
9452 次
4 に答える
17
最も簡単な方法は、他の静的メディアと一緒に静的ディレクトリに配置し、html でその場所を指定することです。
<link rel="shortcut icon" type="image/png" href="{% static 'images/favicon.ico' %}"/>
私の古い答えは:
エントリを設定して、 trueurls.py
かどうかを確認できdebug
ます。これにより、本番環境で提供されなくなります。静的メディアと同じようにできると思います。
if settings.DEBUG:
urlpatterns += patterns('',
(r'^favicon.ico$', 'django.views.static.serve', {'document_root': '/path/to/favicon'}),
)
ビューからファビコンを提供することもできます。
from django.http import HttpResponse
def my_image(request):
image_data = open("/home/moneyman/public_html/media/img/favicon.ico", "rb").read()
return HttpResponse(image_data, content_type="image/png")
于 2012-06-24T00:07:25.607 に答える
5
ドキュメントから:
from django.conf.urls.static import static
urlpatterns = patterns("",
# Your stuff goes here
) + static('/', document_root='static/')
単一の静的ファイルを提供する方法はないようですが、少なくともこのヘルパー関数は、DEBUG = True の場合にのみ機能するラッパーです。
于 2012-07-14T20:26:02.710 に答える
-1
オーバーライドしたい設定をロードする独自の loader.py ファイルを作成できます。このファイルをロードすると、次のようになります。
try:
execfile(os.path.join(SETTINGS_DIR, 'loader.py'))
except:
pass
settings.py の最後に追加されます。この設定は、運用サーバーにコミットするべきではなく、開発マシンにのみ表示する必要があります。git を使用している場合は、loader.py を .gitignore に追加します。
于 2012-06-23T23:14:10.697 に答える