1

DEBUG = Falseあなたのsettings.pyにすっごく、エラーなどがある場合はtemplates/500.htmlが表示されます。

を使用するとDEBUG = True、djangoの開発エラーページが表示され、(開発者)に役立つエラーメッセージとデバッグ情報が表示されます

Q.私がいる実稼働環境でDEBUG = False、Django / adminサイトでのみ発生するエラーの「開発エラーページ」を表示する方法はありますか?

たとえば、見栄えの良いエラーページを管理者ユーザーに表示する必要はありません。管理者は、複数のアプリケーションサーバーにSSHで接続する代わりに、エラーをコピーして貼り付けてメールで送信できるため、問題をより迅速に修正できます。ログを調べます

4

2 に答える 2

3

歩哨を使用します(これは、自分でホストできるオープンソースプロジェクトとしても利用できます)。すべてのエラーを収集し(発生した場所に関係なく)、詳細なトレースバックを提供し、エラーを通知して追跡します。

それはすべてDEBUG = False

于 2012-12-14T18:06:46.910 に答える
0

DjangoのDEBUG設定は、サーバーメモリをすばやく消費する他の処理(すべてのSQLクエリのログ記録など)を実行しますが、例外を好きなように処理してみませんか?

Djangoのかなりの例外には、サニタイズして内省するコードがたくさんありますがdjango.views.debug、単純な例外を吐き出すのは簡単なはずです。

process_exceptionフックを使用するミドルウェアを作成するだけです。

https://docs.djangoproject.com/en/dev/topics/http/middleware/?from=olddocs#process_exception

class MyExceptionHandler(object):
    def process_exception(self, request, exception):
        if request.path.startswith('/admin/'):
             return http.HttpResponse(
                      "We've encountered an exception in the /admin/ pages!")

必要なだけのデバッグ情報を自由に返すことができます。

于 2012-12-14T20:33:38.570 に答える