我是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'
感谢任何帮助,谢谢!
答案 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。