为了账号安全,请及时绑定邮箱和手机立即绑定

Django:配置不正确:SECRET_KEY设置不得为空

Django:配置不正确:SECRET_KEY设置不得为空

桃花长相依 2019-11-14 14:36:38
我正在尝试设置包括一些基本设置的多个设置文件(开发,生产等)。虽然无法成功。当我尝试运行./manage.py runserver时,出现以下错误:(cb)clime@den /srv/www/cb $ ./manage.py runserverImproperlyConfigured: The SECRET_KEY setting must not be empty.这是我的设置模块:(cb)clime@den /srv/www/cb/cb/settings $ lltotal 24-rw-rw-r--. 1 clime clime 8230 Oct  2 02:56 base.py-rw-rw-r--. 1 clime clime  489 Oct  2 03:09 development.py-rw-rw-r--. 1 clime clime   24 Oct  2 02:34 __init__.py-rw-rw-r--. 1 clime clime  471 Oct  2 02:51 production.py设置文件之一:(cb)clime@den /srv/www/cb/cb/settings $ cat development.py from base import *DEBUG = TrueTEMPLATE_DEBUG = TrueALLOWED_HOSTS = ['127.0.0.1', '31.31.78.149']DATABASES = {    'default': {        'ENGINE': 'django.db.backends.postgresql_psycopg2',        'NAME': 'cwu',        'USER': 'clime',        'PASSWORD': '',        'HOST': '',        'PORT': '',    }}MEDIA_ROOT = '/srv/www/cb/media/'STATIC_ROOT = '/srv/www/cb/static/'TEMPLATE_DIRS = (    '/srv/www/cb/web/templates',    '/srv/www/cb/templates',)代码在manage.py:(cb)clime@den /srv/www/cb $ cat manage.py #!/usr/bin/env pythonimport osimport sysif __name__ == "__main__":    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cb.settings.development")    from django.core.management import execute_from_command_line    execute_from_command_line(sys.argv)如果添加from base import *到/srv/www/cb/cb/settings/__init__.py(否则为空),它会神奇地开始工作,但我不明白为什么。任何人都可以向我解释这是怎么回事?它一定是一些python模块魔术。编辑:如果我从base.py删除此行,一切也将开始工作django.template.loader.add_to_builtins('web.templatetags.cb_tags')如果我从web.templatetags.cb_tags中删除此行,它也将开始工作:from endless_pagination.templatetags import endless我想这是因为最终导致from django.conf import settingsPER_PAGE = getattr(settings, 'ENDLESS_PAGINATION_PER_PAGE', 10)因此,它会产生一些怪异的循环内容并结束游戏。
查看完整描述

3 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

我有同样的错误,结果是设置加载的模块或类与设置模块本身之间存在循环依赖关系。在我的情况下,这是一个中间件类,该类在设置中被命名,该类本身试图加载设置。


查看完整回答
反对 回复 2019-11-14
  • 3 回答
  • 0 关注
  • 3851 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信