0

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

4

1 回答 1

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'然后CONTEXT_PROCESSORS在您的settings.py.

于 2012-08-29T12:25:02.160 回答