猿问

获取 Django ALLOWED_HOSTS env。变量格式正确 settings.py

我面临以下问题。我的 .env 文件包含如下行:


export SERVERNAMES="localhost domain1 domain2 domain3" <- exactly this kind of format

但是调用的变量在我的部署的多个位置被多次使用,所以我不能将其声明为 settings.py 可以立即使用的字符串的兼容列表。旁边,我不喜欢为基本上相同的东西设置.env的多个变量。所以我的问题是,如何格式化我的格式,使其与我的 settings.py 兼容。像这样的东西似乎不起作用:SERVERNAMESALLOWED_HOSTS


ALLOWED_HOSTS = os.environ.get('SERVERNAMES').split(',')

感谢和亲切的问候


炎炎设计
浏览 153回答 3
3回答

慕仙森

只需使用空格作为分隔符而不是逗号来拆分变量SERVERNAMESALLOWED_HOSTS&nbsp;=&nbsp;os.environ.get('SERVERNAMES').split('&nbsp;')

收到一只叮咚

昏迷使它成为一根弦env = "localhost domain1 domain2 domain3"envs = envs.split(',')print(envs)['localhost domain1 domain2 domain3']相反,只需用空格拆分字符串,python就会将其转换为字符串列表。env = "localhost domain1 domain2 domain3"envs = env.split() # By default `str.split()` splits upon spacesprint(envs)['localhost', 'domain1', 'domain2', 'domain3']

神不在的星期二

您还可以使用 env.list 命令。把你的 .env 文件放进去:ALLOWED_HOSTS=example.com,awesomedomain.com,stagingdomain.com在python中使用ALLOWED_HOSTS&nbsp;=&nbsp;env.list("ALLOWED_HOSTS")
随时随地看视频慕课网APP

相关分类

Python
我要回答