假设我的settings.py文件中有一个变量。现在我希望在整个项目的所有模板中访问此值。但我不想在每个视图中的context-data中发送此值。我想像通常一样在上下文中发送其他数据。但是这个特定的一个要在所有模板中访问。 Django有没有这样的过程?
为了澄清一点,我想实现“拦截器”的概念,我们用它来操纵“HTTP”ajax请求。
答案 0 :(得分:5)
您可以按照here:
中的说明定义模板上下文处理器<强> context_processors.py 强>
from django.conf import settings
def interceptor(request):
return {'interceptor': settings.HTTP_AJAX_INTERCEPTOR}
<强> settings.py 强>
TEMPLATE_CONTEXT_PROCESSORS = (
...
'project.context_processors.interceptor',
)
<强> base.html文件强>
<html>
...
<body>
<div>{{ interceptor }}</div>
...
</body>
</html>
有关详细信息,请参阅documentation。