2013-01-08 41 views
1

我最近開始學習Django並發現它非常有用。但有一個問題:我不知道如何正確調試網站!如何爲初學者調試django網站

例如,我下載了一些例子並試圖設置它們。但是當我訪問該網站時,我得到了這個追溯。這根本沒有幫助 - 我得到的是Python抱怨「str對象不可調用」。但是它是如何觸發的?我做了什麼,導致該函數調用?

有沒有簡單的方法來調試Django網站?

Environment: 


Request Method: GET 
Request URL: http://127.0.0.1:8000/ 

Django Version: 1.4.3 
Python Version: 2.7.3 
Installed Applications: 
('django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.humanize', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'django.contrib.admin', 
'forum', 
'registration') 
Installed Middleware: 
('django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware') 


Traceback: 
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response 
    111.       response = callback(request, *callback_args, **callback_kwargs) 

Exception Type: TypeError at/
Exception Value: 'str' object is not callable 
+0

這不是一個完整的答案,但看看你的urls.py文件。像這樣的錯誤往往源於那裏的問題。將urls.py添加到問題中,我們可能可以幫助解決問題。 – Ted

回答

1

您向我們展示的堆棧跟蹤不是整個堆棧跟蹤,而是錯誤產生的位置。 django默認調試頁面允許您交互式地展開跟蹤內的節點,以查看錯誤最初來自哪裏。走上幾個關卡,找到最有可能的嫌疑犯 - 你自己代碼中的行號 - 然後從那裏調查。

後來,django-debug-toolbar是一個非常有用的應用程序,用於查看大量的信息來幫助調試。