Django + Mezzanine + Github无法运行项目

时间:2013-11-01 04:28:48

标签: python django

我在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的某个地方,但我不知道在哪里。 Mezzanine正在项目根目录中使用名为dev.db的sqlite3数据库,但是,再一次,我无法弄清楚它的设置位置。强制第二个virtualenv上的数据库设置从同一个数据库文件的副本中读取无效。

我认为这只是加载正确设置的问题,但我不确定它们在哪里或在哪里找到它们。

1 个答案:

答案 0 :(得分:0)

好吧,我明白了。此命令告诉我该设置是默认的local_settings。

find ~/virtualenv/lib/python2.7/site-packages/mezzanine/ -type f | while read this; do cat $this | grep 'dev\.db' && echo '>>>>>>>>>>>>>>>' $this; done
        "NAME": "dev.db",
>>>>>>>>>>>>>>> /Users/eeytan/dd2/lib/python2.7/site-packages/mezzanine//project_template/local_settings.py.template

然后我发现默认.gitignore文件默认添加了此文件。

这可能是显而易见的那个向我投降的人,但我花了很长时间才弄明白,因为我正在寻找其他地方寻求解决方案。当你知道在哪里看,很明显。这种在没有StackOverflow解释的情况下进行下挫的趋势非常令人不安。