每当有人加载页面时,我想在控制台中打印“Hello”。
我不想在所有100个视图中添加装饰器。那太傻了。 我希望这个装饰器能够自动添加到我的视图中。 嗯...
答案 0 :(得分: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',
)