私はdjango 1.4.1アプリを実行しています。
が True のときに静的ファイルを提供するには、設定に を含めるだけで十分でdjango.contrib.staticfiles
あることに気付きませんでした。つまり、手動で urls ファイルに何も追加する必要はありません。INSTALLED_APPS
settings.DEBUG
また、これが django ミドルウェアをバイパスしていることにも気付きました。誰がどのように、またはなぜこれが起こるのか知っていますか?
空の新しいプロジェクト my views.py を作成しました。
from django.http import HttpResponse
def index(request):
html = '<html><body>Logo: <img src="/static/logo.gif"></body></html>'
return HttpResponse(html)
私のurls.py:
from django.conf.urls import patterns, include, url
urlpatterns = patterns('',
url(r'^$', 'testapp.views.index', name='home'),
)
私のsettings.pyは、静的ファイルを探すディレクトリを指定しており、これも追加されています:
MIDDLEWARE_CLASSES = (
'testapp.middleware.TestMiddleware',
...
)
このミドルウェアの使用:
from __future__ import print_function
class TestMiddleware(object):
def process_request(self, request):
print("[REQUEST]", request.path)
そして、リクエストを行うと、これが出力されます:
[REQUEST] /
[18/Jan/2013 15:30:27] "GET / HTTP/1.1" 200 60
[18/Jan/2013 15:30:27] "GET /static/logo.gif HTTP/1.1" 200 2190
[REQUEST] /favicon.ico
テストサーバーの起動方法と関係がありますか?