への応答として、あなたがあなた自身のhandler500とテストを登録することができ、その後、そこからAJAXエラー応答を返すことを確認することをどのような方法がありますDEBUGがTrueの場合に何が起きたかを示し、DEBUGがFalseの場合には一般的なエラーを返します。
その他のオプションは、FirebugまたはChrome Inspectorを使用してAjaxレスポンスをブラウズするか、サイトが配備されていても死亡しないようにエラーを記録するログを設定することですエラーが発生する可能性があります。
Django自体にはログ機能が組み込まれていますが、そのうちの1つは管理者に電子メールを送信しますが、Django's integration with Python's built in loggingを使用して自分自身を定義することができます。これらのハンドラのハンドラの1つのオプションは、私が実際に発生したエラーを記録するために私のすべての本番サイトで使用するdjango-sentryであり、正確なエラーを検索するために参照番号をエンドユーザに与えるためにhandler500を上書きする機能も含まれていますインスタンス。
セントリーには2つのアプリケーションが付属しています.1つはサーバー、もう1つはクライアントです。典型的な運用環境では、複数のマシンが同じサイトにサービスを提供している場合、セントリーサーバーだけがセントリーを処理します。しかし、それがサイトと統合されている単一のサイトはOKです。
セリフを設定するには、sentry
(サーバー)とsentry.client
(クライアント)の両方をINSTALLED_APPS
に追加する必要があります。次に、ロギングを設定する必要があります。ここで
は一例です:エラーが発生した場合DEBUG = False
LOGGING = {
"version": 1,
"disable_existing_loggers": False,
"handlers": {
"mail_admins": {
"class": "django.utils.log.AdminEmailHandler",
"level": "ERROR"
},
"sentry": {
"class": "sentry.client.handlers.SentryHandler",
"level": "ERROR",
}
},
"loggers": {
"django.request": {
"handlers": ["sentry", "mail_admins"],
"level": "ERROR",
"propagate": True
}
},
}
上記の例では、まだ管理者にメールでお知らせいたします。それをしたくない場合は、django.request
のハンドラーからmail_admins
を取り除いてください。
...私は、人々はそれなしAJAXとDjangoを行う方法を知りませんが、私は多分私はここで完全に客観的ではありませんよエラーはです。 –
テストで構文エラーが検出されないのはなぜですか? –
私は自分のデスクトップからアプリケーションを構築しており、多くの変更を加えています。私は自分自身をテストしており、私は問題を抱えています。 Firebugコンソールにもサーバー側で発生するエラーが表示されません –