Django staticfiles пропускает промежуточное ПО?
Я запускаю приложение Django 1.4.1.
Я не'не понимаю, что просто в том числеdjango.contrib.staticfiles
вINSTALLED_APPS
в ваших настройках достаточно чтобы статические файлы обслуживались покаsettings.DEBUG
Это правда, то есть вы неНе нужно ничего добавлять вручную в ваш файл urls.
Я также заметил, что это обходит промежуточное ПО django. Кто-нибудь знает, как или почему это происходит?
Я только что создал новый пустой проект, мои views.py:
from django.http import HttpResponse
def index(request):
html = 'Logo: <img src="/static/logo.gif">'
return HttpResponse(html)
Мой urls.py:
from django.conf.urls import patterns, include, url
urlpatterns = patterns('',
url(r'^В моем файле 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
Это как-то связано с тем, как тестовый сервер запускается?
, '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
Это как-то связано с тем, как тестовый сервер запускается?