Я пишу клас Django Middleware, який хочу виконати лише один раз при запуску, щоб ініціалізувати якийсь інший арбітальний код. Я дотримувався дуже приємного рішення, розміщеного тут sdolan , але повідомлення "Привіт" виводиться в термінал двічі . Напр
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" друкується двічі? Дякую.