私はちょうどdjangoを学んでいます.djangoの最大の問題は、何かがうまくいかなかった場合、実際に何がうまくいかなかったのかについての情報なしで巨大なトレースバックを取得することです.
私は実際にこのチュートリアルのチュートリアルの手順に従っています。django のエラー メッセージを読んで理解する方法について説明はありますか?
例:
DoesNotExist at /admin/
Site matching query does not exist.
Request Method: GET
Request URL: http://localhost:8080/admin/
Django Version: 1.4.5
Exception Type: DoesNotExist
Exception Value:
Site matching query does not exist.
Exception Location: /usr/lib/python2.7/dist-packages/django/db/models/query.py in get, line 366
Python Executable: /usr/bin/python
Python Version: 2.7.3
Python Path:
['/home/ps/src/python/django',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PIL',
'/usr/lib/pymodules/python2.7/gtk-2.0',
'/usr/lib/python2.7/dist-packages/gst-0.10',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7']
Server time: So, 27 Okt 2013 19:32:52 +0100
Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in wrapper
213. return self.admin_view(view, cacheable)(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
91. response = view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func
89. response = view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in inner
195. return self.login(request)
File "/usr/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func
89. response = view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in login
326. return login(request, **defaults)
File "/usr/lib/python2.7/dist-packages/django/views/decorators/debug.py" in sensitive_post_parameters_wrapper
69. return view(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
91. response = view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func
89. response = view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/contrib/auth/views.py" in login
53. current_site = get_current_site(request)
File "/usr/lib/python2.7/dist-packages/django/contrib/sites/models.py" in get_current_site
92. current_site = Site.objects.get_current()
File "/usr/lib/python2.7/dist-packages/django/contrib/sites/models.py" in get_current
25. current_site = self.get(pk=sid)
File "/usr/lib/python2.7/dist-packages/django/db/models/manager.py" in get
131. return self.get_query_set().get(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/db/models/query.py" in get
366. % self.model._meta.object_name)
Exception Type: DoesNotExist at /admin/
Exception Value: Site matching query does not exist.
こいつは何を言おうとしてるんだ?「/admin/」の「DoesNotExist」とは何ですか? 「DoesNotExists」に関する説明は、「オブジェクトが存在しない」ことだけを示しています。
管理インターフェイスは以前は間違いなく機能していましたが、モデルのアプリ内で遊んだだけですが、プロジェクトの settings.py から INSTALLED_APPS のアプリを削除した後でも、そのメッセージが表示されます。私のアプリ自体は機能しているようですが、管理インターフェイスは機能していません。
さて、私の問題をグーグルで調べた後、「django.contrib.sites」をコメントアウトする必要があることがわかりました。その後、すべてが正常に機能しました。しかし、これがdjangoのやり方だとは思いません。エラーが発生するたびに、Googleにアクセスし、紛らわしいメッセージを渡し、try-errorを介してどの回答が私の問題に一致するかを見つけます。
「djangoの奥深くにあるエラー17」だけでなく、django/pythonが何を伝えているのか、「本当に」問題が何であるかを本当に理解したいと思います。
このエラーメッセージを「読む」方法はありますか?