ฉันกำลังเขียนคลาส 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 และขอหน้าฉันจะไปที่ 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
แนวคิดใดที่พิมพ์ "Hello world" สองครั้ง ขอบคุณ