開発サーバーの実行に関しては、サーバーの起動時にエラーが 0 件見つかったと表示されます。settings.py
これは通常、ファイルとモデルの構成と構文を指します。通常、ビュー ハンドラーを経由しないスタートアップ コード パスを介して発生するエラーのみを報告します。
ファイルを変更すると、開発サーバーはそれ自体をリロードするのに十分なほどスマートです。構文エラーは、開発サーバーをクラッシュさせます。
空白のページが表示され、GET リクエストが正常に返される場合、コードは Django の観点からは正常に動作しています。応答が正しくないことはわかっていますが、要求を処理して応答を返しています。通常、ここで構文エラーが発生すると、ビューは 500 を返します。ここで、ビューに返されたデバッグ情報が表示され (if DEBUG = True
)、コンソールにも表示されます。ビューハンドラーを正常に通過して空白のページを返すため、タイプミスは有効な python だったようです。ここでは、Django に関する単体テスト以外にできることは何もありません。空白のページは有効な応答である可能性があります。
開発から本番環境に移行するにつれて、ページでエラーが発生したときに知りたいと思うでしょう。 Django は、エラーやその他のメッセージを処理するために、Python のロギング フレームワークから構築されています。settings.py
ファイルのデフォルトでは、mail_admins
エラーを処理するハンドラーを設定しますdjango.request
。設定ファイルで設定するADMINS
とEMAIL_BACKEND
、サーバーで発生した 500 エラーのスタック トレースが電子メールで送信されます。より洗練されたものになると、メッセージを Python のログ フレームワークとカスタム ハンドラーに送信することで、独自のログを作成できます。
import logging
logger = logging.GetLogger(__name__) #using the module name so in your settings.py you can configure different settings per module
logger.info('msg')
logger.error('msg')
ヒット カウントを行い、エラー ログを保存する、エラー メッセージのハンドラーとしてSentryを検討することをお勧めします。