我在 Django 上启动了一个项目并将其保存到 Github。它在一个虚拟环境中。然后我从 Github 将它下载到另一个 virtualenv 中,满足要求。当我尝试
(virutalenv)Machine:project user$ python manage.py runserver
[snip snip]
Validating models...
Unhandled exception in thread started by <bound method Command.inner_run of <django.contrib.staticfiles.management.commands.runserver.Command object at 0x10ad7cad0>>
Traceback (most recent call last):
[snip snip]
File "/Users/user/project/lib/python2.7/site-packages/south/db/__init__.py", line 83, in <module>
db = dbs[DEFAULT_DB_ALIAS]
KeyError: 'default'
当我尝试在 python 中加载设置时,会发生以下情况。这些设置位于settings.py
项目根目录中的一个文件中。
virtualenv)Machine:project user$ python
Python 2.7.5 (default, May 19 2013, 13:26:46)
[GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin
Type "help", "copyright", "credits" or "license" for more information.>>> from django.conf import settings as d_settings
>>> import settings as my_settings
>>> d_settings.configure(my_settings, DEBUG=True)
[snip snip]
File "/Users/user/project/lib/python2.7/site-packages/django/conf/__init__.py", line 186, in __getattr__
return getattr(self.default_settings, name)
AttributeError: 'module' object has no attribute 'LOGGING_CONFIG'
>>> import mezzanine.conf
Traceback (most recent call last):
[snip snip]
File "/Users/user/project/lib/python2.7/site-packages/django/conf/__init__.py", line 186, in __getattr__
return getattr(self.default_settings, name)
AttributeError: 'module' object has no attribute 'DATABASE_ROUTERS'
>>>
此 pastebin 中的完整未剪切转录本:http: //pastebin.com/C8Cy6e6v。
该项目在原始 virtualenv 上运行良好。它抱怨ALLOWED_HOSTS
没有被设置,但这从来没有打扰它。原始数据库设置为空白,但这也不会打扰它。我认为开发数据库设置在夹层中的某个地方,但我不确定在哪里。Mezzanine 正在使用在项目根目录中调用的 sqlite3 数据库dev.db
,但是,我再一次无法弄清楚它是在哪里设置的。强制第二个 virtualenv 上的数据库设置从同一数据库文件的副本中读取无效。
我认为这只是加载正确设置的问题,但我不确定它们在哪里或在哪里可以找到它们。