Execute o código quando o Django inicia apenas UMA VE
Estou escrevendo uma classe Django Middleware que quero executar apenas uma vez na inicialização, para inicializar algum outro código arbritário. Eu segui a solução muito boa postada por sdolanaqu, mas a mensagem "Hello" é enviada para o terminalduas veze. Por exemplo
from django.core.exceptions import MiddlewareNotUsed
from django.conf import settings
class StartupMiddleware(object):
def __init__(self):
print "Hello world"
raise MiddlewareNotUsed('Startup complete')
e no meu arquivo de configurações do Django, tenho a classe incluída noMIDDLEWARE_CLASSES
Lista
Mas quando executo o Django usando o runserver e solicito uma página, chego ao 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
Alguma idéia de por que "Hello world" é impresso duas vezes? Obrigado