Я пишу класс промежуточного программного обеспечения Django, который хочу запускать только один раз при запуске, чтобы инициализировать некоторый другой произвольный код. Я следовал очень хорошему решению, опубликованному здесь sdolan , но сообщение «Hello» выводится на терминал дважды . Например
from django.core.exceptions import MiddlewareNotUsed
from django.conf import settings
class StartupMiddleware(object):
def __init__(self):
print "Hello world"
raise MiddlewareNotUsed('Startup complete')
и в моем файле настроек Django у меня есть класс, включенный в MIDDLEWARE_CLASSES
список.
Но когда я запускаю Django с помощью runserver и запрашиваю страницу, я попадаю в терминал
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
Есть идеи, почему «Hello world» печатается дважды? Спасибо.