【问题标题】:Django says SECRET_KEY must not be emptyDjango 说 SECRET_KEY 不能为空
【发布时间】:2019-12-09 17:27:47
【问题描述】:

我从 repo 导入了一个 Django 项目,当我尝试使用 python manage.py makemigrations,我得到以下异常:

File "C:\Users\Iván\AppData\Local\Programs\Python\Python36\Lib\site-packages\django\conf\__init__.py", line 161, in __init__
    raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.

上网查了一下,在__init__.py里面加from base import *可以解决,但就是报错了:

    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  File "C:\Users\Iván\AppData\Local\Programs\Python\Python36\Lib\site-packages\django\conf\urls\static.py", line 22, in static
    raise ImproperlyConfigured("Empty static prefix not permitted")
django.core.exceptions.ImproperlyConfigured: Empty static prefix not permitted

我的'base.py'设置确实有SECRET_KEY = 'my_key_value',我的'local.py'设置第一行是from.base import *,它没有覆盖SECRET_KEY,所以我不知道为什么它说SECRET_KEY 为空。我通过项目没有看到任何其他设置,所以我不知道在哪里看,我是django的新手,所以我在这里有点迷路并且已经卡了几天。

在我的 'wsgi.py' 文件中,它也包含一行

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'quiniela.settings')

在 'quiniela.settings' 我有 'init.py'、'base.py' 和 'local.py'

【问题讨论】:

  • 也许您的local.py 中有一个SECRET_KEY='' 会覆盖基本设置?
  • 不,我确实搜索过,但 local.py 中没有覆盖。
  • from.base import * - 这是一个错字吗?那 ”。” from 和 base 之间的点?
  • 您是否将密钥存储在另一个文件中?那部分我不清楚
  • 从第二个错误开始,我认为它可能完全找不到您的设置文件。

标签: python django


【解决方案1】:

我通过更改来修复它 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'quiniela.settings')os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'quiniela.settings.local') 在我的 manage.py 文件中,但仅限于那里,不在 wsgi.py 中或更改其他任何内容。

【讨论】:

    猜你喜欢
    • 2021-06-18
    • 2017-06-04
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 2016-12-25
    • 2017-10-03
    • 2015-06-09
    • 1970-01-01
    相关资源
    最近更新 更多