... に問題がある場合は、FAQ の Getting Help セクションに進んでください。 自動テストの導入 ¶ 自動テストとは何ですか? ¶ テストは、コードの動作をチェックするルーチンです。 テストは異なるレベルで実行されます。あるテストは、小さな機能に対して行われるもの ( ある特 ... ステムによって実行されることです。一度テストセットを作成すると、それからはアプリに変更を加えるたびに、あなたの意図した通りにコードが動作するか確認できます。手動でテストする時間がかかることはありません。 なぜテストを作成する必要があるのか ¶ どうしてテスト ... ョンが予想外の振る舞いをするかもしれません。「動作しているように見える」ことを確認するために、20種類ものテストデータを使ってコードの機能を検証し、何も壊れていないことを確認する必要があるかもしれません。これは良い時間の使い方ではありません。 これは自動テス ... ... に問題がある場合は、FAQ の Getting Help セクションに進んでください。 自動テストの導入 ¶ 自動テストとは何ですか? ¶ テストは、コードの動作をチェックするルーチンです。 テストは異なるレベルで実行されます。あるテストは、小さな機能に対して行われるもの ( ある特 ... ステムによって実行されることです。一度テストセットを作成すると、それからはアプリに変更を加えるたびに、あなたの意図した通りにコードが動作するか確認できます。手動でテストする時間がかかることはありません。 なぜテストを作成する必要があるのか ¶ どうしてテスト ... ョンが予想外の振る舞いをするかもしれません。「動作しているように見える」ことを確認するために、20種類ものテストデータを使ってコードの機能を検証し、何も壊れていないことを確認する必要があるかもしれません。これは良い時間の使い方ではありません。 これは自動テス ... ... ger and look for log messages about "Asynchronous handler adapted for middleware ..." . ASGI モードと WSGI モードの両方で、コードを逐次的ではなく並行して実行するために、非同期サポートを安全に使用できます。これは、外部 API やデータストアを扱う際に特に便利 ... ) await book . tags . aset ( tags ) トランザクションは非同期モードではまだ機能しません。もしトランザクションの動作が必要なコードがある場合は、そのコードを1つの同期的な関数として書いて、 sync_to_async() を使用して呼び出すことをおすすめします。 Persisten ... an-out, server-sent events, or other long-lived requests), where the extra thread per request caps that concurrency. 自分のコード上での ASGI と WSGI の違いの影響を知るためには、自分自身でパフォーマンステストを行うべきです。場合によっては、純粋に同期的な ... ... ger and look for log messages about "Asynchronous handler adapted for middleware ..." . ASGI モードと WSGI モードの両方で、コードを逐次的ではなく並行して実行するために、非同期サポートを安全に使用できます。これは、外部 API やデータストアを扱う際に特に便利 ... ) await book . tags . aset ( tags ) トランザクションは非同期モードではまだ機能しません。もしトランザクションの動作が必要なコードがある場合は、そのコードを1つの同期的な関数として書いて、 sync_to_async() を使用して呼び出すことをおすすめします。 Persisten ... an-out, server-sent events, or other long-lived requests), where the extra thread per request caps that concurrency. 自分のコード上での ASGI と WSGI の違いの影響を知るためには、自分自身でパフォーマンステストを行うべきです。場合によっては、純粋に同期的な ... ... 、我々は仮定を立てなければなりません。そして、Djangoはすべてのバイト文字列がUTF-8であると仮定します。 Django に他の形式でエンコードされた文字列を渡すと、興味深い方法で問題が発生します。通常、いずれかのタイミングで Django は UnicodeDecodeError を発生させま ... す。 コードが ASCII データのみを使用している場合、ASCII は UTF-8 のサブセットなので、通常の文字列を自由に使って渡すことが安全です。 DEF ... たのアプリケーションをインストールして使用している人が制御しています - そして、その人が異なる設定を選択した場合でも、あなたのコードは引き続き動作しなければなりません。したがって、その設定に依存することはできません。 Djangoが文字列を扱う場合、大抵の場合、何 ... ... 、我々は仮定を立てなければなりません。そして、Djangoはすべてのバイト文字列がUTF-8であると仮定します。 Django に他の形式でエンコードされた文字列を渡すと、興味深い方法で問題が発生します。通常、いずれかのタイミングで Django は UnicodeDecodeError を発生させま ... す。 コードが ASCII データのみを使用している場合、ASCII は UTF-8 のサブセットなので、通常の文字列を自由に使って渡すことが安全です。 DEF ... たのアプリケーションをインストールして使用している人が制御しています - そして、その人が異なる設定を選択した場合でも、あなたのコードは引き続き動作しなければなりません。したがって、その設定に依存することはできません。 Djangoが文字列を扱う場合、大抵の場合、何 ... ... 2 の属性数を増やす (または減らす) と更新されます。 データベース上の全てのパスワードがデフォルトのハッシュアルゴリズムでエンコードされていない場合、デフォルト以外のアルゴリズムでエンコードされたパスワードを持つユーザーと、存在しないユーザー(デフォルトの ... シャーのデフォルトのワークファクターとの間のランタイムギャップを埋める必要があります。これにより、古いイテレーション数でエンコードされたパスワードを持つユーザーと存在しないユーザー(デフォルトのハッシャーのデフォルトのイテレーション数で実行される)のログ ... はできません。」)が使用されます。 バリデーションの統合 ¶ django.contrib.auth.password_validation には、独自のフォームや他のコードから呼び出して パスワード認証を統合できる関数がいくつかあります。これは、たとえばパスワードの設定にカスタムフォームを使ったり ... ... 2 の属性数を増やす (または減らす) と更新されます。 データベース上の全てのパスワードがデフォルトのハッシュアルゴリズムでエンコードされていない場合、デフォルト以外のアルゴリズムでエンコードされたパスワードを持つユーザーと、存在しないユーザー(デフォルトの ... シャーのデフォルトのワークファクターとの間のランタイムギャップを埋める必要があります。これにより、古いイテレーション数でエンコードされたパスワードを持つユーザーと存在しないユーザー(デフォルトのハッシャーのデフォルトのイテレーション数で実行される)のログ ... はできません。」)が使用されます。 バリデーションの統合 ¶ django.contrib.auth.password_validation には、独自のフォームや他のコードから呼び出して パスワード認証を統合できる関数がいくつかあります。これは、たとえばパスワードの設定にカスタムフォームを使ったり ... ... 、すぐに拡張可能です。 基本的なロギング呼び出しを作成する ¶ ログメッセージをコード内から送信するには、コードにロギングの呼び出しを書く必要があります。 settings.py でログ呼び出しを使用しようとしないでください ... getLogger ( __name__ ) この宣言はモジュール・レベルで行うのがよいとされています。 そして、ビューなどの関数内で、logger にレコードを送信します。 def some_view ( request ): ... if some_risky_state : logger . warning ( "Platform is running at risk" ) When ... がって、別の例は次のようになります。 logger . critical ( "Payment system is not responding" ) 重要 WARNING より低いレベルのレコードはデフォルトではコンソールに表示されません。この動作を変更するには追加の設定が必要です。 ロギングの設定をカスタマイズする ¶ ... ... 、すぐに拡張可能です。 基本的なロギング呼び出しを作成する ¶ ログメッセージをコード内から送信するには、コードにロギングの呼び出しを書く必要があります。 settings.py でログ呼び出しを使用しようとしないでください ... getLogger ( __name__ ) この宣言はモジュール・レベルで行うのがよいとされています。 そして、ビューなどの関数内で、logger にレコードを送信します。 def some_view ( request ): ... if some_risky_state : logger . warning ( "Platform is running at risk" ) When ... がって、別の例は次のようになります。 logger . critical ( "Payment system is not responding" ) 重要 WARNING より低いレベルのレコードはデフォルトではコンソールに表示されません。この動作を変更するには追加の設定が必要です。 ロギングの設定をカスタマイズする ¶ ... 2026年10月08日