我在 PythonAnywhere 上托管 Django 项目,并在运行 makemigrations 时遇到以下错误: django.core.exceptions.ImproperlyConfigured:SECRET_KEY 设置不能为空。
我的设置:
托管平台:PythonAnywhere
环境管理:使用 .env 文件来管理机密
Python 版本:3.10
Django 版本:5.1.2
在我的 WSGI 文件中,我包含以下代码来加载 .env 文件:
import sys
from dotenv import load_dotenv
path = '/home/verbsmerch/verbs_backend'
project_folder = os.path.expanduser(path)
load_dotenv(os.path.join(project_folder, '.env'))
在我的设置中,我像这样加载 SECRET_KEY:
SECRET_KEY = os.getenv("SECRET_KEY")
我尝试过的:
from dotenv import load_dotenv
import os
load_dotenv('/home/verbsmerch/verbs_backend/.env')
print(os.getenv("SECRET_KEY")) # This prints the correct key
为什么 Django 无法加载 SECRET_KEY,而它在 Python shell 中似乎可以工作?我该如何解决这个错误?
不确定您的具体错误来自何处,但我在 Pythonanywhere 上托管了 Web 应用程序,并且使用 python-de Couple 来管理我的 .env 文件。请参阅如何使用Python解耦来设置和配置您的环境变量。