Ich schreibe eine Django Middleware-Klasse, die ich beim Start nur einmal ausführen möchte, um einen anderen britischen Code zu initialisieren. Ich habe die sehr nette Lösung von sdolan hier verfolgt , aber die Nachricht "Hallo" wird zweimal an das Terminal ausgegeben . Z.B
from django.core.exceptions import MiddlewareNotUsed
from django.conf import settings
class StartupMiddleware(object):
def __init__(self):
print "Hello world"
raise MiddlewareNotUsed('Startup complete')
und in meiner Django-Einstellungsdatei habe ich die Klasse in der MIDDLEWARE_CLASSESListe enthalten.
Aber wenn ich Django mit runserver starte und eine Seite anfordere, komme ich ins 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
Irgendwelche Ideen, warum "Hallo Welt" zweimal gedruckt wird? Vielen Dank.