我有以下中间件类:
class CommonContextMiddleware:
def process_template_response(self, request, response):
# Get the context and top videos
context = response.context_data
...
# Add most_recent and most_viewed to the context...
context['most_recent'] = top_videos['most_recent'][:3]
context['most_viewed'] = top_videos['most_viewed'][:3]
# ...then continue rendering
return response
但是,无论我在函数中添加什么,都不会被调用。我假设生成的每个模板响应都会调用此方法,我错了吗?
提前致谢。
答案 0 :(得分:4)
我假设当你谈论“模板响应”时,你实际上是从Django视图返回TemplateResponse
了吗?
对于这类事情来说,这不是最好的地方。如果您只想将变量添加到每个模板上下文中,最好的位置是context processor。