PythonAnywhere 上的 Django:配置不正确:SECRET_KEY 设置不能为空

问题描述 投票:0回答:1

我在 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")

我尝试过的:

  1. 已验证 .env 文件存在且位于正确的目录中。
  2. 检查 .env 文件是否具有正确的权限(chmod 600)。
  3. 运行 Python shell 进行调试:
from dotenv import load_dotenv
import os

load_dotenv('/home/verbsmerch/verbs_backend/.env')
print(os.getenv("SECRET_KEY"))  # This prints the correct key

  1. 从 PythonAnywhere Web 选项卡重新加载 Web 应用程序。

为什么 Django 无法加载 SECRET_KEY,而它在 Python shell 中似乎可以工作?我该如何解决这个错误?

python django pythonanywhere python-dotenv
1个回答
0
投票

不确定您的具体错误来自何处,但我在 Pythonanywhere 上托管了 Web 应用程序,并且使用 python-de Couple 来管理我的 .env 文件。请参阅如何使用Python解耦来设置和配置您的环境变量。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.