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