Estoy escribiendo una clase de Django Middleware que quiero ejecutar solo una vez al inicio, para inicializar algún otro código arbitrario. He seguido la muy buena solución publicada por sdolan aquí , pero el mensaje "Hola" se envía al terminal dos veces . P.ej
from django.core.exceptions import MiddlewareNotUsed
from django.conf import settings
class StartupMiddleware(object):
def __init__(self):
print "Hello world"
raise MiddlewareNotUsed('Startup complete')
y en mi archivo de configuración de Django, tengo la clase incluida en el MIDDLEWARE_CLASSES
lista.
Pero cuando ejecuto Django usando runserver y solicito una página, entro en la terminal
Django version 1.3, using settings 'config.server'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Hello world
[22/Jul/2011 15:54:36] "GET / HTTP/1.1" 200 698
Hello world
[22/Jul/2011 15:54:36] "GET /static/css/base.css HTTP/1.1" 200 0
¿Alguna idea de por qué "Hola mundo" se imprime dos veces? Gracias.