我正在運行一個django 1.4.1應用程序。django靜態文件是否跳過中間件?
我不知道,只是包括django.contrib.staticfiles
到INSTALLED_APPS
您的設置足以讓靜態文件服務,而settings.DEBUG
是真實的,即,您不必手動添加任何東西到您的網址文件。
我也注意到這繞過了django中間件。有誰知道如何或爲什麼會發生這種情況?
我剛剛創建了一個空白的新項目,我的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
有什麼事情做的測試服務器如何啓動?