SECRET_KEY 设置不能为空

4 投票
1 回答
6076 浏览
提问于 2025-04-18 06:58

在我的设置文件夹里有三个文件:

  • base.py
  • development.py
  • production.py

我在我的 wsgi.py 文件里加了这一行:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproj.settings.development")

但是当我运行 gunicorn myproj.wsgi:application 并尝试在浏览器中加载应用时,我遇到了:

ImproperlyConfigured: The SECRET_KEY setting must not be empty.

我在 base.py 里肯定有 SECRET_KEY,而在 development.py 里我有这一行:

from base import *

我更新了 manage.py,并在里面指定了新的设置文件,只是为了测试 runserver 是否能工作,结果是可以的。

更新: 现在我已经把 SECRET_KEY 放进了 development.py。当我运行 gunicorn myproj.wsgi:application --settings 'myproj.settings.development' 时,错误依然存在。

1 个回答

15

我只需要运行:

gunicorn myproj.wsgi:application --env DJANGO_SETTINGS_MODULE='myproj.settings.development'

在我的 wsgi.py 文件里,有一行代码:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "videotube.settings.development")

我不知道为什么,但 gunicorn 对这行代码不在意。

撰写回答