Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 django 项目,有很多应用程序。现在我只需要为某些应用程序将一些变量添加到上下文字典中。django 是否提供任何选项来实现这一点?我知道装饰器可能会有所帮助。还有其他方法吗,例如自动运行但仅适用于特定应用程序的中间件/上下文处理器。
像这样的上下文处理器可以满足您的需求:
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.
'folder.file.app_var'
CONTEXT_PROCESSORS
settings.py