Django - 阻止在每个页面上加载自定义上下文处理器

时间:2012-03-23 17:07:28

标签: django

我有一个大型项目,其中包含各种应用程序。每个应用程序都有一些页面,其中包含我想要在应用程序的每个页面上的一些变量。为此,我为每个人编写了自定义上下文处理器。

在我的settings.py中:

TEMPLATE_CONTEXT_PROCESSORS = (
    ...
    "app_one.custom_context_processors.base_items",
    "app_two.custom_context_processors.base_items",
    "app_two.custom_context_processors.keyword_cloud",
    ...
)

我的问题是 - 如何阻止app_two加载app_one自定义上下文处理器,反之亦然,还是有更好的方法来完全实现这一点?

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:1)

模板上下文处理器是全局的,即它们本质上适用于每个请求。你可以使用请求对象来有条件地发送不同的值作为返回值,但你不能“停止”一个。