相关疑难解决方法(0)

当Django只启动ONCE时执行代码?

我正在编写一个Django Middleware类,我想在启动时只执行一次,以初始化其他一些arbritary代码.我已经按照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')
Run Code Online (Sandbox Code Playgroud)

在我的Django设置文件中,我已将该类包含在MIDDLEWARE_CLASSES列表中.

但是当我使用runserver运行Django并请求页面时,我进入了终端

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
Run Code Online (Sandbox Code Playgroud)

任何有关"Hello world"打印两次的想法?谢谢.

python django

153
推荐指数
7
解决办法
7万
查看次数

标签 统计

django ×1

python ×1