0

mod_wsgを使用してdjnagoアプリケーションを実行しています(何らかの理由で組み込みのdjangoサーバーを使用できません)

エラーが発生してエラー 500 が表示された場合、 /var/log/apache2/errors.log で情報を探していますが、有用な情報はありません。

構文、データベース、またはビューでエラーが発生した場合-何でも!「UnicodeDecodeError」に関するエラー メッセージが表示されます。次のようになります。

[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1] mod_wsgi (pid=10006): Exception occurred processing WSGI script '/hosting/mysite/public/django.wsgi'.
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1] Traceback (most recent call last):
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 241, in __call__
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]     response = self.get_response(request)
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 179, in get_response
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]     response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 221, in handle_uncaught_exception
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]     return debug.technical_500_response(request, *exc_info)
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/django/views/debug.py", line 66, in technical_500_response
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]     html = reporter.get_traceback_html()
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/django/views/debug.py", line 275, in get_traceback_html
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]     c = Context(self.get_traceback_data())
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/django/views/debug.py", line 233, in get_traceback_data
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]     frames = self.get_traceback_frames()
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/django/views/debug.py", line 387, in get_traceback_frames
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]     'vars': self.filter.get_traceback_frame_variables(self.request, tb.tb_frame),
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/django/views/debug.py", line 183, in get_traceback_frame_variables
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]     value = self.get_request_repr(value)
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/django/views/debug.py", line 102, in get_request_repr
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]     return build_request_repr(request, POST_override=self.get_post_parameters(request))
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/django/http/__init__.py", line 179, in build_request_repr
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1]     unicode(meta)))
[Mon Apr 30 00:21:48 2012] [error] [client 127.0.0.1] UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 1556: ordinal not in range(128)

django はエラー例外を処理しようとし、このプロセス中に新しいエラーが発生すると思います。エンコーディングについての何か。しかし、私はそれを修正する方法がわかりません。

UnicodeDecodeError ではなく、最初のエラーに関する情報を取得するにはどうすればよいですか? UnicodeDecodeError を修正するにはどうすればよいですか? (修正後、ログに最初のエラーの説明が表示されることを願っています)。

4

1 に答える 1

0

これについて説明しているDjangoのドキュメントを読んでください:

https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/#if-you-get-a-unicodeencodeerror

また、Django 設定モジュールで DEBUG を True に設定してみてください。根本的なエラーがブラウザに表示される可能性があります。これが一般向けのサイトであり、それができない場合は、ADMINS 設定を Django のドキュメントで説明されている電子メール アドレスに設定して、エラーの詳細が電子メールで送信されるようにします。

于 2012-04-30T05:20:13.093 に答える