如何仅为某些应用程序将变量传递给模板

时间:2012-08-29 10:16:04

标签: django

我有一个django项目,有很多应用程序。现在我需要为某些应用程序添加一些变量到上下文字典。是不是django提供了实现这一目的的任何选项? 我知道装饰器可能会有所帮助。还有其他任何方式,例如自动运行但仅适用于特定应用程序的中间件/上下文处理器。

1 个答案:

答案 0 :(得分:1)

像这样的上下文处理器可以满足您的需求:

from django.core.urlresolvers import resolve

def app_var(request):
    if resolve(request.path).app_name == 'YOUR_APP_NAME':
        return {'CUSTOM_VAR': 'VALUE'}
    return {}

安装上下文处理器,将代码放在您喜欢的任何文件中,并在'folder.file.app_var'的{​​{1}}中添加引用(例如CONTEXT_PROCESSORS)条目的条目。