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