从 pythonanywhere.com 中的 .env 文件读取环境变量
Reading environment variables from .env file in pythonanywhere.com
已解决:我正在编辑错误的 WISGI 文件。我没有意识到有 2 个单独的 WISGI 文件。问题解决了。感谢 Forcebru 的帮助。
我写了一篇文章,详细介绍了How to Deploy Django on PytonAnywhere的过程。希望这能帮助一些人避免我犯的错误。
我正在尝试使用 pythonanywhere.com 中的 .env 文件设置环境变量,但我一直收到错误消息说我的 SECRET_KEY 是空的,所以我的环境变量没有被设置。
我正在关注来自 pythonanywhere.com
的文章
link: https://help.pythonanywhere.com/pages/environment-variables-for-web-apps/
import os
from dotenv import load_dotenv
project_folder = os.path.expanduser('~/my-project-dir') # adjust as appropriate
load_dotenv(os.path.join(project_folder, '.env'))
第三行我不太明白。在终端中,我 cd 进入项目文件夹并使用 运行 pwd 命令获取路径。我不确定 os.path.expanduser('~/my-project-dir')
.
的论点应该包含哪一部分
按照文章中 bash 控制台的部分,我可以毫无问题地访问我的环境变量。所以我认为我使用的是正确的工作项目目录。我能够回显到控制台。
这是我的 WISGI 文件:
import os
from dotenv import load_dotenv
from django.core.wsgi import get_wsgi_application
project_folder = os.path.expanduser('~/bogalusa-church')
load_dotenv(os.path.join(project_folder, '.env'))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'bogalusa_church.settings')
application = get_wsgi_application()
我用于设置 bash 终端变量的工作目录与我在这里使用的相同。
非常感谢任何见解。提前感谢您的帮助。
I'm not sure what part I am supposed to include
您的主目录之后的部分。如果您有 /Users/forcebru/test
,那么参数将为 ~/test
,因为波浪号代表您的主目录 (/Users/forcebru
)。
如果您不确定自己的主目录是什么,请执行以下操作:
project_folder = <output of `pwd` after `cd` to project dir>
主目录部分
from dotenv import load_dotenv
project_folder = os.path.expanduser('~/AOJCM/') # adjust as appropriate thats my directory
load_dotenv(os.path.join(project_folder, '.env'))
然后 settings.py
SECRET_KEY = os.getenv('SECRET_KEY')
**注:
.env 应该包含你所有的键,在等号 = **
之间没有空格
export SECRET_KEY='djfjksdhfhsjfhjsdjfJjsKrandomsecretkey'
已解决:我正在编辑错误的 WISGI 文件。我没有意识到有 2 个单独的 WISGI 文件。问题解决了。感谢 Forcebru 的帮助。
我写了一篇文章,详细介绍了How to Deploy Django on PytonAnywhere的过程。希望这能帮助一些人避免我犯的错误。
我正在尝试使用 pythonanywhere.com 中的 .env 文件设置环境变量,但我一直收到错误消息说我的 SECRET_KEY 是空的,所以我的环境变量没有被设置。
我正在关注来自 pythonanywhere.com
的文章link: https://help.pythonanywhere.com/pages/environment-variables-for-web-apps/
import os
from dotenv import load_dotenv
project_folder = os.path.expanduser('~/my-project-dir') # adjust as appropriate
load_dotenv(os.path.join(project_folder, '.env'))
第三行我不太明白。在终端中,我 cd 进入项目文件夹并使用 运行 pwd 命令获取路径。我不确定 os.path.expanduser('~/my-project-dir')
.
按照文章中 bash 控制台的部分,我可以毫无问题地访问我的环境变量。所以我认为我使用的是正确的工作项目目录。我能够回显到控制台。
这是我的 WISGI 文件:
import os
from dotenv import load_dotenv
from django.core.wsgi import get_wsgi_application
project_folder = os.path.expanduser('~/bogalusa-church')
load_dotenv(os.path.join(project_folder, '.env'))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'bogalusa_church.settings')
application = get_wsgi_application()
我用于设置 bash 终端变量的工作目录与我在这里使用的相同。
非常感谢任何见解。提前感谢您的帮助。
I'm not sure what part I am supposed to include
您的主目录之后的部分。如果您有 /Users/forcebru/test
,那么参数将为 ~/test
,因为波浪号代表您的主目录 (/Users/forcebru
)。
如果您不确定自己的主目录是什么,请执行以下操作:
project_folder = <output of `pwd` after `cd` to project dir>
主目录部分
from dotenv import load_dotenv
project_folder = os.path.expanduser('~/AOJCM/') # adjust as appropriate thats my directory
load_dotenv(os.path.join(project_folder, '.env'))
然后 settings.py
SECRET_KEY = os.getenv('SECRET_KEY')
**注: .env 应该包含你所有的键,在等号 = **
之间没有空格export SECRET_KEY='djfjksdhfhsjfhjsdjfJjsKrandomsecretkey'