Sto eseguendo un'applicazione django 1.4.1.I file statici di django saltano il middleware?
non mi rendevo conto che proprio tra cui django.contrib.staticfiles
in INSTALLED_APPS
nelle impostazioni è sufficiente per ottenere i file statici serviti mentre settings.DEBUG
è vero, vale a dire, non c'è bisogno di aggiungere manualmente qualsiasi cosa per il file URL.
Ho anche notato che questo aggira il middleware django. Qualcuno sa come o perché questo accade?
Ho appena creato un nuovo progetto vuoto, il mio views.py:
from django.http import HttpResponse
def index(request):
html = '<html><body>Logo: <img src="/static/logo.gif"></body></html>'
return HttpResponse(html)
mio urls.py:
from django.conf.urls import patterns, include, url
urlpatterns = patterns('',
url(r'^$', 'testapp.views.index', name='home'),
)
mio settings.py ha specificato una directory per cercare file statici, e ha anche aggiunto:
MIDDLEWARE_CLASSES = (
'testapp.middleware.TestMiddleware',
...
)
Usando questo middleware:
from __future__ import print_function
class TestMiddleware(object):
def process_request(self, request):
print("[REQUEST]", request.path)
E quando faccio una richiesta, questo viene stampato:
[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
E 'qualcosa a che fare con il modo il server di prova si avvia?