Dotenv 不处理 ALLOWED_HOSTS 中的多个主机
Dotenv Doesn't Handle Multiple Hosts in ALLOWED_HOSTS
在我的生产 setting.py 文件中,我有:
from dotenv import load_dotenv
load_dotenv(override=True)
DEBUG = os.getenv('DEBUG')
#ALLOWED_HOSTS = os.getenv("ALLOWED_HOSTS")
ALLOWED_HOSTS = ['example.com', 'www.example.com']
在我的 .env 生产文件中,我有
DEBUG=False
ALLOWED_HOSTS=['www.example.com', 'example.com']
如果我在设置中切换注释掉的行,我会收到一条错误消息,指出 url 可能不在允许的主机中。我在 .env 文件中有许多其他定义可以正常工作,但我不确定是否可以调试。我在 ALLOWED_HOSTS 上尝试了各种组合并得到了同样的错误。在开发中我有:
ALLOWED_HOSTS='localhost'
该设置工作正常。知道我做错了什么吗?
您似乎没有正确加载 .env 文件。尝试:
project_folder = os.path.expanduser('~/my-project-dir') # adjust as appropriate
load_dotenv(os.path.join(project_folder, '.env'))
ALLOWED_HOSTS = os.getenv("ALLOWED_HOSTS")
文档:https://help.pythonanywhere.com/pages/environment-variables-for-web-apps/
我找到了部分答案 。然后我这样做了:
#setting.py
ALLOWED_HOSTS = os.getenv("ALLOWED_HOSTS").split(' ')
#.env
ALLOWED_HOSTS = domain1 domain2 domain3 domain4
而且有效。
在我的生产 setting.py 文件中,我有:
from dotenv import load_dotenv
load_dotenv(override=True)
DEBUG = os.getenv('DEBUG')
#ALLOWED_HOSTS = os.getenv("ALLOWED_HOSTS")
ALLOWED_HOSTS = ['example.com', 'www.example.com']
在我的 .env 生产文件中,我有
DEBUG=False
ALLOWED_HOSTS=['www.example.com', 'example.com']
如果我在设置中切换注释掉的行,我会收到一条错误消息,指出 url 可能不在允许的主机中。我在 .env 文件中有许多其他定义可以正常工作,但我不确定是否可以调试。我在 ALLOWED_HOSTS 上尝试了各种组合并得到了同样的错误。在开发中我有:
ALLOWED_HOSTS='localhost'
该设置工作正常。知道我做错了什么吗?
您似乎没有正确加载 .env 文件。尝试:
project_folder = os.path.expanduser('~/my-project-dir') # adjust as appropriate
load_dotenv(os.path.join(project_folder, '.env'))
ALLOWED_HOSTS = os.getenv("ALLOWED_HOSTS")
文档:https://help.pythonanywhere.com/pages/environment-variables-for-web-apps/
我找到了部分答案
#setting.py
ALLOWED_HOSTS = os.getenv("ALLOWED_HOSTS").split(' ')
#.env
ALLOWED_HOSTS = domain1 domain2 domain3 domain4
而且有效。