2

私は最近 Django を学び始めましたが、Django が驚くほど便利であることがわかりました。しかし、問題が 1 つあります。Web サイトを適切にデバッグする方法がわかりません。

たとえば、いくつかの例をダウンロードしてセットアップしようとしました。しかし、サイトにアクセスすると、このトレースバックが表示されました。これはまったく役に立ちません-Pythonが「strオブジェクトは呼び出し可能ではありません」と不平を言っていることがわかりました。しかし、それはどのように引き起こされますか?その関数呼び出しの結果、私は何をしましたか?

Django Web サイトをデバッグする簡単な方法はありますか?

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
4

1 に答える 1

1

表示したスタックトレースは、スタックトレース全体ではなく、エラーが生成された場所です。djangoのデフォルトのデバッグページでは、トレース内のノードをインタラクティブに展開して、エラーが最初に発生した場所を確認できます。数レベル上に移動し、最も可能性の高い容疑者(自分のコード内の行番号)を見つけて、そこから調査します。

後で、django-debug-toolbarは、デバッグに役立つ膨大な量の情報を表示するための非常に便利なアプリです。

于 2013-01-09T00:50:31.750 に答える