当我的 settings.py
有 ALLOWED_HOSTS = []
- 服务器工作正常。但是当我执行 ALLOWED_HOSTS = config('ALLOWED_HOSTS')
- 它给出了错误:
DisallowedHost at /admin/login/
Invalid HTTP_HOST header: '127.0.0.1:8000'. You may need to add '127.0.0.1' to ALLOWED_HOSTS.
但是,当我进入 python shell 时,我能够成功地导入 ALLOWED_HOSTS
- 并且它会打印出 []
,这是正确的值。
我仍然收到错误的原因是什么?
PS:config
是 python-decouple
包的一个特性 - 用于存储敏感值。
最佳答案
python 解耦 readme建议您必须将 ALLOWED_HOSTS
转换为列表。它给出的例子是:
os.environ['ALLOWED_HOSTS'] = '.localhost, .herokuapp.com'
config('ALLOWED_HOSTS', cast=lambda v: [s.strip() for s in v.split(',')])
你似乎在做 config('ALLOWED_HOSTS')
,所以你的 ALLOWED_HOSTS
可能被评估为字符串 '[]'
而不是空列表 []
。
关于python - 无效的 HTTP_HOST header : '127.0.0.1:8000' error when using python-decouple to set ALLOWED_HOSTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49049026/