我使用了一个基于这个例子的context_processors.py: https://hackernoon.com/5-ways-to-make-django-admin-safer-eb7753698ac8
以视觉方式区分local / internal / prod
之间的环境例如:
{% extends "admin/base_site.html" %}
{% block extrastyle %}
<style type="text/css">
body:before {
display: block;
line-height: 35px;
text-align: center;
font-weight: bold;
text-transform: uppercase;
color: white;
content: "{{ ENVIRONMENT_NAME }}";
background-color: {{ ENVIRONMENT_COLOR }};
}
</style>
{% endblock %}
就像我可以在我的模板中使用这个变量,例如在管理页面
中{{1}}
BUt我还介绍:多个设置文件,以便分离我的配置
现在问题我无法根据设置文件在模板中显示变量: 你可以解释一下我,或者根据几个设置给我一个关于context_processors的例子吗?
提前致谢
答案 0 :(得分:0)
感谢您的回答。 不需要if-else调试,就像加载设置的文件一样
# app/context_processors.py
from django.conf import settings
import os
def from_settings(request):
for name in dir(settings):
environmentName = getattr(settings, 'ENVIRONMENT_NAME')
environmentColor = getattr(settings, 'ENVIRONMENT_COLOR')
return {
'ENVIRONMENT_NAME': environmentName,
'ENVIRONMENT_COLOR': environmentColor,
}