背景
python 3.7.6
django 2.2
现象
在项目的settings中,定义了一个变量,需要在代码中引用,如何做?
# promethus地址
PROMETHUS_PATH = "http://ip:9090"
解决
在代码中引用setttings中变量的方式:
import os
from django.conf import settings #关键引入
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "你的project.settings")
PROMETHUS_PATH = settings.PROMETHUS_PATH # 取值语句
特别说明
os.environ.setdefault设置的DJANGO_SETTINGS_MODULE优先级比较低,如果django中的manage.py中已经配置了DJANGO_SETTINGS_MODULE,则再次设置的参数不会生效。调用settings获取的参数仍为manage.py中设置的配置文件里的变量。
好记性不如赖笔头(多敲代码)。共勉。