django中需要为所谓模板增加通用的渲染变量,有三种方式。
第一种是在每个视图函数增加渲染的变量,这种方式是效率最低的。
第二种方式是每个视图函数都使用一个通用的装饰器,在装饰器中统一渲染,这种方式也比较麻烦。
第三种方式是自定义模板中间件,如下所示:
# mysite/backends.py中编写中间件
def render(request):
return {'CACHE_MIDDLEWARE_SECONDS': settings.CACHE_MIDDLEWARE_SECONDS}
# settings.py中启用中间件
TEMPLATES[0]['OPTIONS']['context_processors'].insert(0, 'reception.backends.render')