Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法从django设置导入某些变量_Python_Django - Fatal编程技术网

Python 无法从django设置导入某些变量

Python 无法从django设置导入某些变量,python,django,Python,Django,我已将DJANGO\u设置\u模块设置为我的设置文件。 此设置文件的一些示例行如下所示: TEST = { 'CLIENT': os.environ.get("CLIENT_NAME", "unknown"), 'ENVIRONMENT': os.environ.get("ENVIRONMENT", "unknown") } client = os.environ.get("CLIENT_NAME", "unknown") environment = os.environ.ge

我已将
DJANGO\u设置\u模块
设置为我的设置文件。 此设置文件的一些示例行如下所示:

TEST = {
    'CLIENT': os.environ.get("CLIENT_NAME", "unknown"),
    'ENVIRONMENT': os.environ.get("ENVIRONMENT", "unknown")
}

client = os.environ.get("CLIENT_NAME", "unknown")
environment = os.environ.get("ENVIRONMENT", "unknown")
然后,我尝试使用

from django.conf import settings as django_settings
然后我可以打印
django\u设置的值。测试['CLIENT']
,但不能打印
django\u设置的值。当我得到
“settings”对象时,CLIENT
没有属性“CLIENT”


我错过了什么?对我来说,唯一的区别是TEST是dict,而client是字符串类型的变量

这确实是因为设置必须使用所有大写字母。具体规定如下:

没有什么能阻止你为自己的Django应用程序创建自己的设置。只需遵循以下准则:

  • 设置名称必须全部为大写
在幕后,这是因为
django.conf.settings
实际上不是一个模块,而是一个基于该模块动态创建的类;仅读取所有大写字母中的变量


(还要注意,从风格上讲,这是有意义的;根据定义,设置是常量,Python风格是将常量放在所有大写中。)

您没有声明
client
变量。您确实有
client\u name
这不应该是
django\u设置。client\u name
?(因此,
client\u name
而不是
client
)?请注意,您输入了一个错误(
ENVIRONMENT
->
ENVIRONMENT
)。对不起,伙计们,这两个都是我在这里输入的错误。实际代码没有typos@WillemVanOnsem我检查了一百万次,也不能使用
django_设置。否则,测试['CLIENT']
。是否有可能与客户没有资本化有关?我没有看到这样的参考资料,但我已经没有想法了