已解决:我正在编辑错误的WISGI文件。我没有意识到有2个单独的WISGI文件。问题解决了。谢谢Forcebru的帮助。
我写了一篇文章,详细介绍了How to Deploy Django on PytonAnywhere的过程。希望这可以帮助某些人避免我遇到的陷阱。
我正在尝试使用pythonanywhere.com中的.env文件设置环境变量,但我不断收到一条错误消息,说我的SECRET_KEY为空,因此未设置我的环境变量。
我正在关注pythonanywhere.com上的文章
链接: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'))
我不太了解第三行。在终端中,我进入项目文件夹并运行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终端变量的工作目录与我在这里使用的目录相同。
任何见识都将不胜感激。感谢您的任何事先帮助。
答案 0 :(得分:2)
我不确定我应该包括哪个部分
主目录后的部分。如果您有/Users/forcebru/test
,则参数将为~/test
,因为波浪号代表您的主目录(/Users/forcebru
)。
如果不确定主目录是什么,请执行以下操作:
project_folder = <output of `pwd` after `cd` to project dir>
答案 1 :(得分:0)
主目录的一部分
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'