为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

炎炎设计 2022-08-11 18:13:22
我面临以下问题。我的 .env 文件包含如下行:export SERVERNAMES="localhost domain1 domain2 domain3" <- exactly this kind of format但是调用的变量在我的部署的多个位置被多次使用,所以我不能将其声明为 settings.py 可以立即使用的字符串的兼容列表。旁边,我不喜欢为基本上相同的东西设置.env的多个变量。所以我的问题是,如何格式化我的格式,使其与我的 settings.py 兼容。像这样的东西似乎不起作用:SERVERNAMESALLOWED_HOSTSALLOWED_HOSTS = os.environ.get('SERVERNAMES').split(',')感谢和亲切的问候
查看完整描述

3 回答

?
慕仙森

TA贡献1827条经验 获得超8个赞

只需使用空格作为分隔符而不是逗号来拆分变量SERVERNAMES

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


查看完整回答
反对 回复 2022-08-11
?
收到一只叮咚

TA贡献1821条经验 获得超5个赞

昏迷使它成为一根弦


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 spaces


print(envs)


['localhost', 'domain1', 'domain2', 'domain3']


查看完整回答
反对 回复 2022-08-11
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

您还可以使用 env.list 命令。

把你的 .env 文件放进去:

ALLOWED_HOSTS=example.com,awesomedomain.com,stagingdomain.com

在python中使用

ALLOWED_HOSTS = env.list("ALLOWED_HOSTS")


查看完整回答
反对 回复 2022-08-11
  • 3 回答
  • 0 关注
  • 152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号