在Django中,我如何为每个函数编写一个?

TIM*_*MEX 0 python oop django decorator

每当有人加载页面时,我想在控制台中打印"Hello".

我不想在所有100个视图中添加装饰器.那太傻了.我希望这个装饰器能够自动添加到我的视图中.嗯...

Yuj*_*ita 5

中间件:http://docs.djangoproject.com/en/dev/topics/http/middleware/#writing-your-own-middleware

定义一个中间件类,覆盖上面定义的一个函数,打印"Hello",返回相应的对象(根据文档),并将中间件类添加到settings.py中

class PrintHelloMiddleware(object):
    def process_response(self, request, response):
        print "Hello"
        return None

# settings.py
MIDDLEWARE_CLASSES = ( # ... usual middleware
                       'path.to.my.middleware.PrintHelloMiddleware',
                      )
Run Code Online (Sandbox Code Playgroud)