在 Django 中,大多数时候当我运行manage.py
并遇到错误时,我没有得到错误的完整堆栈跟踪,只有异常的文本,这使得调试变得非常困难。例子:
python manage.py graph_models -a -g -o my_project.png
AttributeError: 'str' object has no attribute '__module__'
(这是针对 graph_models 插件的,但它也发生在内置命令中。我发现的唯一例外是runserver
,它遇到与其他命令相同的错误,但会打印完整的堆栈跟踪)
这是我的 manage.py 文件。我的项目最初是为 Django 1.1 创建的,但我最近升级到了 1.5。
#!/usr/bin/env python
import os, sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ctree.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)