我正在嘗試設(shè)置包括一些基本設(shè)置的多個設(shè)置文件(開發(fā),生產(chǎn)等)。雖然無法成功。當(dāng)我嘗試運行./manage.py runserver時,出現(xiàn)以下錯誤:(cb)clime@den /srv/www/cb $ ./manage.py runserverImproperlyConfigured: The SECRET_KEY setting must not be empty.這是我的設(shè)置模塊:(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設(shè)置文件之一:(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模塊魔術(shù)。編輯:如果我從base.py刪除此行,一切也將開始工作django.template.loader.add_to_builtins('web.templatetags.cb_tags')如果我從web.templatetags.cb_tags中刪除此行,它也將開始工作:from endless_pagination.templatetags import endless我想這是因為最終導(dǎo)致from django.conf import settingsPER_PAGE = getattr(settings, 'ENDLESS_PAGINATION_PER_PAGE', 10)因此,它會產(chǎn)生一些怪異的循環(huán)內(nèi)容并結(jié)束游戲。
3 回答

拉莫斯之舞
TA貢獻1820條經(jīng)驗 獲得超10個贊
我有同樣的錯誤,結(jié)果是設(shè)置加載的模塊或類與設(shè)置模塊本身之間存在循環(huán)依賴關(guān)系。在我的情況下,這是一個中間件類,該類在設(shè)置中被命名,該類本身試圖加載設(shè)置。
添加回答
舉報
0/150
提交
取消