django runserver错误github fork

时间:2013-04-12 23:58:17

标签: python django

我是Django的新手,我主要在rails工作。我只是分叉了一个朋友项目,并试图让服务器启动并运行。我已经安装了所有要求,当我尝试调用runserver

时遇到以下错误
└─(06:50 PM Fri Apr 12)─(22 files, 128b)─> ./runserver
Validating models...

Unhandled exception in thread started by <bound method Command.inner_run of       
<  django.contrib.staticfiles.management.commands.runserver.Command object at   
0x10c252f50>>
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/django/core/management/commands/runserver.py",
  line 92, in inner_run
    self.validate(display_num_errors=True)
  File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 280, in
  validate
    num_errors = get_validation_errors(s, app)
  File "/Library/Python/2.7/site-packages/django/core/management/validation.py", line 35, 
in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "/Library/Python/2.7/site-packages/django/db/models/loading.py", line 166, in
get_app_errors
    self._populate()
  File "/Library/Python/2.7/site-packages/django/db/models/loading.py", line 72, in 
_populate
    self.load_app(app_name, True)
  File "/Library/Python/2.7/site-packages/django/db/models/loading.py", line 96, in 
load_app
    models = import_module('.models', app_name)
  File "/Library/Python/2.7/site-packages/django/utils/importlib.py", line 35, in   
import_module
    __import__(name)
  File "/Users/RobertZyskowski/Applebutter/calendezi/south/models.py", line 2, in <module>
    from south.db import DEFAULT_DB_ALIAS
  File "/Users/RobertZyskowski/Applebutter/calendezi/south/db/__init__.py", line 78, in
<module>
    db = dbs[DEFAULT_DB_ALIAS]
KeyError: 'default'

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

为了让Django工作,你必须为它提供设置。 Django正常运行所需的设置之一是DATABASES。它应该作为Python字典提供,在该字典中,Django会查找default密钥。关于here的更多信息。

您获得的错误意味着Django没有使用密钥default为其提供数据库。可能有多种原因。一个是您的设置文件可能实际上没有因各种原因(例如安全性)定义的设置。在这种情况下,您必须提供所有设置,并且应该解决问题。有关设置的示例配置,请参阅上述文档的链接。第二个原因可能是您可能有多个设置文件,而您没有向runserver提供正确的设置文件。我注意到您没有使用manage.py runserver命令来启动服务器。如果您将尝试该命令,通常可以提供--settings参数:

manage.py runserver --settings=dot.notation.path.to.settings

另外,如果您是Django的新手,请阅读Django教程。这是非常好的,应该让你开始很好。教程是here