2013-05-16 37 views
20

Trong Django, hầu hết thời gian khi tôi chạy manage.py và gặp phải lỗi, tôi không nhận được dấu vết ngăn xếp đầy đủ cho lỗi, chỉ là văn bản của ngoại lệ, làm cho nó rất khó để gỡ lỗi. Ví dụ:Django: manage.py không in theo dõi ngăn xếp cho các lỗi

python manage.py graph_models -a -g -o my_project.png 
AttributeError: 'str' object has no attribute '__module__' 

(Đây là cho graph_models add-on, nhưng nó cũng xảy ra đối với xây dựng trong các lệnh Ngoại lệ duy nhất tôi thấy là runserver, mà gặp các lỗi tương tự như các lệnh khác nhưng in full stack. trace)

Đây là tệp manage.py của tôi. Dự án của tôi ban đầu được tạo cho Django 1.1, nhưng gần đây tôi đã nâng cấp lên 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) 

Trả lời

37

Bạn đã thử vượt qua đối số --traceback chưa?

ví dụ:

python manage.py graph_models --traceback -a -g -o my_project.png 
+0

Tuyệt vời! Điều đó đã hiệu quả! Có vẻ như trong phiên bản phát triển của Django, tính năng này hiện được bật theo mặc định, có vẻ như cách hợp lý để đi: https://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-option ---tìm lại – RexE

Các vấn đề liên quan