{"title":"Django ユーティリティ (django.utils)","version":"6.0","locale":"ja","docname":"ref/utils","url":"/ja/6.0/ref/utils/","canonical":"https://djangodocs.dev/ja/6.0/ref/utils/","summary":"このドキュメントは、django.utils のすべての安定したモジュールを対象としています。","html":"<span id=\"django-utils\"></span><h1>Django ユーティリティ (<code class=\"docutils literal notranslate\">django.utils</code>)<a class=\"heading-anchor\" href=\"#module-django.utils\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>このドキュメントは、<code class=\"docutils literal notranslate\">django.utils</code> のすべての安定したモジュールを対象としています。<code class=\"docutils literal notranslate\">django.utils</code> 内のほとんどのモジュールは内部使用を目的としていることから、 <a class=\"reference internal\" href=\"/ja/6.0/internals/release-process/#internal-release-deprecation-policy\"><span class=\"std std-ref\">内部リリース非推奨ポリシー</span></a> に従い、以下に記載する内容のみが 安定版として提供され、また後方互換性を維持しています。</p>\n<section id=\"module-django.utils.cache\">\n<span id=\"django-utils-cache\"></span><h2><code class=\"docutils literal notranslate\">django.utils.cache</code><a class=\"heading-anchor\" href=\"#module-django.utils.cache\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>このモジュールには、HTTPキャッシュの制御を補助するための関数が含まれています。これは、レスポンスの <code class=\"docutils literal notranslate\">Vary</code> ヘッダーを管理することによって行います。レスポンスオブジェクトのヘッダーを直接パッチするための関数や、そのヘッダーパッチを行うためのデコレータも含まれています。</p>\n<p><code class=\"docutils literal notranslate\">Vary</code> ヘッダーについての詳細は、 <span class=\"target\" id=\"index-16\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc9110.html#section-12.5.5\"><strong>RFC 9110 Section 12.5.5</strong></a> を参照してください。</p>\n<p>基本的に、 <code class=\"docutils literal notranslate\">Vary</code> HTTPヘッダーは、キャッシュがキャッシュキーを構築する際に考慮すべきヘッダーを定義します。同一パスのリクエストであっても、 <code class=\"docutils literal notranslate\">Vary</code> で指定されたヘッダーの内容が異なる場合は、誤ったコンテンツの配信を防ぐために異なるキャッシュキーを取得する必要があります。</p>\n<p>たとえば、<a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/\"><span class=\"doc\">国際化のためのミドルウェア</span></a> は、<code class=\"docutils literal notranslate\">Accept-language</code> ヘッダーによってキャッシュを区別するようにしています。</p>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.cache.patch_cache_control\">\n<span class=\"sig-name descname\">patch_cache_control</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">response</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.cache.patch_cache_control\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>この関数は、キーワード引数を <code class=\"docutils literal notranslate\">Cache-Control</code> ヘッダーに追加することで、ヘッダーをパッチします。変換する内容は以下の通りです。</p>\n<ul class=\"simple\">\n<li><p>すべてのキーワードパラメータ名を小文字に変換し、アンダースコアをハイフンに変換する</p></li>\n<li><p>パラメータの値が <code class=\"docutils literal notranslate\">True</code> （実質的な真の値ではなく、正確に <code class=\"docutils literal notranslate\">True</code> ）である場合、ヘッダーにはパラメータ名のみを追加する</p></li>\n<li><p>すべての他のパラメータは、その値に <code class=\"docutils literal notranslate\">str()</code> を適用した後に追加する</p></li>\n</ul>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.cache.get_max_age\">\n<span class=\"sig-name descname\">get_max_age</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">response</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.cache.get_max_age\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>レスポンスのCache-Controlヘッダーから max-age を整数として返します（見つからなかった場合や整数でなかった場合は <code class=\"docutils literal notranslate\">None</code> を返します）。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.cache.patch_response_headers\">\n<span class=\"sig-name descname\">patch_response_headers</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">response</em>, <em class=\"sig-param\">cache_timeout<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.cache.patch_response_headers\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>与えられた <code class=\"docutils literal notranslate\">HttpResponse</code> オブジェクトに以下のような便利なヘッダーを追加します。</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">Expires</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">Cache-Control</code></p></li>\n</ul>\n<p>それぞれのヘッダーは、未設定の場合にのみ追加されます。</p>\n<p><code class=\"docutils literal notranslate\">cache_timeout</code> は秒単位で指定します。デフォルトでは、 <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-CACHE_MIDDLEWARE_SECONDS\"><code class=\"xref std std-setting docutils literal notranslate\">CACHE_MIDDLEWARE_SECONDS</code></a> の値が使用されます。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.cache.add_never_cache_headers\">\n<span class=\"sig-name descname\">add_never_cache_headers</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">response</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.cache.add_never_cache_headers\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">Expires</code> ヘッダーを現在の日付/時刻で設定します。</p>\n<p><code class=\"docutils literal notranslate\">Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private</code> ヘッダーをレスポンスに追加し、ページがキャッシュされないように設定します。</p>\n<p>それぞれのヘッダーは、未設定の場合にのみ追加されます。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.cache.patch_vary_headers\">\n<span class=\"sig-name descname\">patch_vary_headers</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">response</em>, <em class=\"sig-param\">newheaders</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.cache.patch_vary_headers\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>与えられた <code class=\"docutils literal notranslate\">HttpResponse</code> オブジェクトに、 <code class=\"docutils literal notranslate\">Vary</code> ヘッダーを追加（または更新）します。 <code class=\"docutils literal notranslate\">newheaders</code> は、<code class=\"docutils literal notranslate\">Vary</code> に含まれるべきヘッダー名のリストです。ヘッダーにアスタリスクが含まれている場合、 <span class=\"target\" id=\"index-17\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc9110.html#section-12.5.5\"><strong>RFC 9110 Section 12.5.5</strong></a> に従い  <code class=\"docutils literal notranslate\">Vary</code> ヘッダーは単一のアスタリスク <code class=\"docutils literal notranslate\">'*'</code> で構成されます。それ以外の場合、<code class=\"docutils literal notranslate\">Vary</code> の既存のヘッダーは削除されません。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.cache.get_cache_key\">\n<span class=\"sig-name descname\">get_cache_key</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">request</em>, <em class=\"sig-param\">key_prefix<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">method<span class=\"o\">=</span><span class=\"default_value\">'GET'</span></em>, <em class=\"sig-param\">cache<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.cache.get_cache_key\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>リクエストのパスに基づいたキャッシュキーを返します。グローバルパスレジストリから考慮すべきヘッダーのリストを取得してそれを使用してキャッシュキーを構築するため、リクエストフェーズで使用できます。</p>\n<p>ヘッダーリストが保存されていない場合、ページを再構築する必要があるので、この関数は <code class=\"docutils literal notranslate\">None</code> を返します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.cache.learn_cache_key\">\n<span class=\"sig-name descname\">learn_cache_key</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">request</em>, <em class=\"sig-param\">response</em>, <em class=\"sig-param\">cache_timeout<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">key_prefix<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">cache<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.cache.learn_cache_key\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>レスポンスオブジェクトから、特定のリクエストパスに対してどのヘッダーを考慮する必要があるかを学習します。それらのヘッダーはグローバルパスレジストリに格納されるため、後からそのパスにアクセスした際には、レスポンスオブジェクト自体を構築することなく、どのヘッダーを考慮する必要があるかがわかります。ヘッダーはレスポンスの <code class=\"docutils literal notranslate\">Vary</code> ヘッダーで指定されますが、レスポンスの生成は防ぎたいでしょう。</p>\n<p>キャッシュキー生成に使用するヘッダーのリストは、ページ自体と同じキャッシュ内に保存されています。キャッシュがあるデータを破棄する場合、Varyヘッダーとキャッシュキー生成に使用するヘッダーのリストを取得するために、レスポンスを構築する必要があります。</p>\n</dd></dl>\n\n</section>\n<section id=\"module-django.utils.dateparse\">\n<span id=\"django-utils-dateparse\"></span><h2><code class=\"docutils literal notranslate\">django.utils.dateparse</code><a class=\"heading-anchor\" href=\"#module-django.utils.dateparse\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>このモジュールで定義された関数は、以下の特性を共有しています：</p>\n<ul class=\"simple\">\n<li><p>ISO 8601 日付/時刻形式の文字列（またはそれに近い代替形式）を受け付け、Python の <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#module-datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\">datetime</code></a> モジュールにある対応するクラスからオブジェクトを返します。</p></li>\n<li><p>入力が適切にフォーマットされているが、有効な日付や時刻ではない場合、 <a class=\"reference external\" href=\"https://docs.python.org/3/library/exceptions.html#ValueError\" title=\"(in Python v3.14)\"><code class=\"xref py py-exc docutils literal notranslate\">ValueError</code></a> を発生させます。</p></li>\n<li><p>それが全く適切にフォーマットされていない場合、 <code class=\"docutils literal notranslate\">None</code> を返します。</p></li>\n<li><p>入力ではピコ秒単位まで受け付けますが、Pythonがサポートしているマイクロ秒単位に切り捨てられます。</p></li>\n</ul>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.dateparse.parse_date\">\n<span class=\"sig-name descname\">parse_date</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.dateparse.parse_date\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>文字列を解析し、<a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime.date</code></a> を返します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.dateparse.parse_time\">\n<span class=\"sig-name descname\">parse_time</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.dateparse.parse_time\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>文字列を解析し、<a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.time\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime.time</code></a> を返します。</p>\n<p>UTC オフセットはサポートされていません; もし <code class=\"docutils literal notranslate\">value</code> がそれを記述している場合、結果は <code class=\"docutils literal notranslate\">None</code> です。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.dateparse.parse_datetime\">\n<span class=\"sig-name descname\">parse_datetime</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.dateparse.parse_datetime\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>文字列を解析し、<a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime.datetime</code></a> を返します。</p>\n<p>UTC オフセットに対応しています。もし <code class=\"docutils literal notranslate\">value</code> がそれを記述している場合、結果の <code class=\"docutils literal notranslate\">tzinfo</code> 属性は <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.timezone\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime.timezone</code></a> インスタンスになります。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.dateparse.parse_duration\">\n<span class=\"sig-name descname\">parse_duration</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.dateparse.parse_duration\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>文字列を解析し、 <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.timedelta\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime.timedelta</code></a> を返します。</p>\n<p>データは、 <code class=\"docutils literal notranslate\">&quot;DD HH:MM:SS.uuuuuu&quot;</code> 、 <code class=\"docutils literal notranslate\">&quot;DD HH:MM:SS,uuuuuu&quot;</code> の形式、または ISO 8601 で指定された形式 (例えば、<code class=\"docutils literal notranslate\">P4DT1H15M20S</code> は <code class=\"docutils literal notranslate\">4 1:15:20</code> に相当) や PostgreSQL の日時間隔形式 (例えば、<code class=\"docutils literal notranslate\">3 days 04:05:06</code>) であることを期待します。</p>\n</dd></dl>\n\n</section>\n<section id=\"module-django.utils.decorators\">\n<span id=\"django-utils-decorators\"></span><h2><code class=\"docutils literal notranslate\">django.utils.decorators</code><a class=\"heading-anchor\" href=\"#module-django.utils.decorators\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.decorators.method_decorator\">\n<span class=\"sig-name descname\">method_decorator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">decorator</em>, <em class=\"sig-param\">name<span class=\"o\">=</span><span class=\"default_value\">''</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.decorators.method_decorator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>関数デコレータをメソッドデコレータに変換します。これは、メソッドまたはクラスをデコレートするのに使用できます。後者の場合、 <code class=\"docutils literal notranslate\">name</code> はデコレートされるメソッドの名前であり、必須です。</p>\n<p><code class=\"docutils literal notranslate\">decorator</code> は関数のリストまたはタプルでも構いません。それらは逆順でラップされるため、呼び出しの順序は関数がリスト/タプル内に登場する順序となります。</p>\n<p>使用方法の例については、 <a class=\"reference internal\" href=\"/ja/6.0/topics/class-based-views/intro/#id1\"><span class=\"std std-ref\">クラスベースビューのデコレート</span></a> を参照してください。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.decorators.decorator_from_middleware\">\n<span class=\"sig-name descname\">decorator_from_middleware</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">middleware_class</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.decorators.decorator_from_middleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ミドルウェアクラスが与えられた場合、ビューデコレータを返します。これにより、ミドルウェアの機能をビューごとに使用できます。ミドルウェアは、パラメータを渡さずに作成されます。</p>\n<p>これは、Django 1.9以前の古いスタイルと互換性のあるミドルウェアを想定しています（<code class=\"docutils literal notranslate\">process_request()</code>, <code class=\"docutils literal notranslate\">process_exception()</code>, <code class=\"docutils literal notranslate\">process_response()</code> のようなメソッドを持っている）。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.decorators.decorator_from_middleware_with_args\">\n<span class=\"sig-name descname\">decorator_from_middleware_with_args</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">middleware_class</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.decorators.decorator_from_middleware_with_args\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">decorator_from_middleware</code> と似ていますが、<code class=\"docutils literal notranslate\">middleware_class</code> に渡す引数を受け入れる関数を返します。例えば、<a class=\"reference internal\" href=\"/ja/6.0/topics/cache/#django.views.decorators.cache.cache_page\" title=\"django.views.decorators.cache.cache_page\"><code class=\"xref py py-func docutils literal notranslate\">cache_page()</code></a> デコレータは <code class=\"docutils literal notranslate\">CacheMiddleware</code> からこのように作成されます：</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>cache_page <span class=\"o\">=</span> decorator_from_middleware_with_args<span class=\"p\">(</span>CacheMiddleware<span class=\"p\">)</span>\n\n\n<span class=\"nd\">@cache_page</span><span class=\"p\">(</span><span class=\"mi\">3600</span><span class=\"p\">)</span>\n<span class=\"k\">def</span> <span class=\"nf\">my_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    <span class=\"k\">pass</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.decorators.sync_only_middleware\">\n<span class=\"sig-name descname\">sync_only_middleware</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">middleware</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.decorators.sync_only_middleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ミドルウェアを <a class=\"reference internal\" href=\"/ja/6.0/topics/http/middleware/#async-middleware\"><span class=\"std std-ref\">同期専用</span></a> としてマークします。(これはDjangoのデフォルトですが、将来的にデフォルトが変更された場合に備えて、あらかじめ設定しておくことを可能にします。)</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.decorators.async_only_middleware\">\n<span class=\"sig-name descname\">async_only_middleware</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">middleware</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.decorators.async_only_middleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ミドルウェアを <a class=\"reference internal\" href=\"/ja/6.0/topics/http/middleware/#async-middleware\"><span class=\"std std-ref\">非同期専用</span></a> としてマークします。WSGIリクエストパスから呼び出されたとき、Djangoはそれを非同期イベントループでラップします。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.decorators.sync_and_async_middleware\">\n<span class=\"sig-name descname\">sync_and_async_middleware</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">middleware</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.decorators.sync_and_async_middleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ミドルウェアを <a class=\"reference internal\" href=\"/ja/6.0/topics/http/middleware/#async-middleware\"><span class=\"std std-ref\">同期および非同期互換</span></a> としてマークすることで、リクエストの変換を避けることができます。このデコレータを使用するためには、現在のリクエストタイプの検出を実装する必要があります。詳細については、<a class=\"reference internal\" href=\"/ja/6.0/topics/http/middleware/#async-middleware\"><span class=\"std std-ref\">非同期ミドルウェアのドキュメント</span></a> を参照してください。</p>\n</dd></dl>\n\n</section>\n<section id=\"module-django.utils.encoding\">\n<span id=\"django-utils-encoding\"></span><h2><code class=\"docutils literal notranslate\">django.utils.encoding</code><a class=\"heading-anchor\" href=\"#module-django.utils.encoding\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.encoding.smart_str\">\n<span class=\"sig-name descname\">smart_str</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">s</em>, <em class=\"sig-param\">encoding<span class=\"o\">=</span><span class=\"default_value\">'utf-8'</span></em>, <em class=\"sig-param\">strings_only<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">errors<span class=\"o\">=</span><span class=\"default_value\">'strict'</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.encoding.smart_str\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>任意のオブジェクト <code class=\"docutils literal notranslate\">s</code> を表す <code class=\"docutils literal notranslate\">str</code> オブジェクトを返します。バイトストリングは <code class=\"docutils literal notranslate\">encoding</code> コーデックを使用して処理します。</p>\n<p><code class=\"docutils literal notranslate\">strings_only</code> が <code class=\"docutils literal notranslate\">True</code> の場合、(いくつかの) 非文字列型オブジェクトを変換しないでください。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.encoding.is_protected_type\">\n<span class=\"sig-name descname\">is_protected_type</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">obj</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.encoding.is_protected_type\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>オブジェクトインスタンスが保護された型であるかどうかを判断します。</p>\n<p><code class=\"docutils literal notranslate\">force_str(strings_only=True)</code> に渡された際に、保護された型のオブジェクトはそのまま保持されます。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.encoding.force_str\">\n<span class=\"sig-name descname\">force_str</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">s</em>, <em class=\"sig-param\">encoding<span class=\"o\">=</span><span class=\"default_value\">'utf-8'</span></em>, <em class=\"sig-param\">strings_only<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">errors<span class=\"o\">=</span><span class=\"default_value\">'strict'</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.encoding.force_str\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">smart_str()</code> に似ていますが、遅延インスタンスは遅延オブジェクトとして保持されるのではなく、文字列に変換されます。</p>\n<p><code class=\"docutils literal notranslate\">strings_only</code> が <code class=\"docutils literal notranslate\">True</code> の場合、(いくつかの) 非文字列型オブジェクトを変換しないでください。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.encoding.smart_bytes\">\n<span class=\"sig-name descname\">smart_bytes</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">s</em>, <em class=\"sig-param\">encoding<span class=\"o\">=</span><span class=\"default_value\">'utf-8'</span></em>, <em class=\"sig-param\">strings_only<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">errors<span class=\"o\">=</span><span class=\"default_value\">'strict'</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.encoding.smart_bytes\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>任意のオブジェクト <code class=\"docutils literal notranslate\">s</code> を、 <code class=\"docutils literal notranslate\">encoding</code> で指定された方法でエンコードされたバイト文字列バージョンを返します。</p>\n<p><code class=\"docutils literal notranslate\">strings_only</code> が <code class=\"docutils literal notranslate\">True</code> の場合、(いくつかの) 非文字列型オブジェクトを変換しないでください。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.encoding.force_bytes\">\n<span class=\"sig-name descname\">force_bytes</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">s</em>, <em class=\"sig-param\">encoding<span class=\"o\">=</span><span class=\"default_value\">'utf-8'</span></em>, <em class=\"sig-param\">strings_only<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">errors<span class=\"o\">=</span><span class=\"default_value\">'strict'</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.encoding.force_bytes\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">smart_bytes</code> に似ていますが、遅延インスタンスは遅延オブジェクトとして保持されるのではなく、バイト文字列に解決されます。</p>\n<p><code class=\"docutils literal notranslate\">strings_only</code> が <code class=\"docutils literal notranslate\">True</code> の場合、(いくつかの) 非文字列型オブジェクトを変換しないでください。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.encoding.iri_to_uri\">\n<span class=\"sig-name descname\">iri_to_uri</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">iri</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.encoding.iri_to_uri\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>国際化リソース識別子 (IRI) の一部を、URL に含めるのに適した URI の一部に変換します。</p>\n<p>これは、入力が任意のバイトストリームではなく文字列であると仮定しているため、若干単純化された、セクション3.1の <span class=\"target\" id=\"index-18\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc3987.html#section-3.1\"><strong>RFC 3987 Section 3.1</strong></a> のアルゴリズムです。</p>\n<p>IRI (文字列または UTF-8 バイト) を取得し、エンコードされた結果を含む文字列を返します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.encoding.uri_to_iri\">\n<span class=\"sig-name descname\">uri_to_iri</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">uri</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.encoding.uri_to_iri\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>統一リソース識別子（URI）を国際化リソース識別子（IRI）に変換します。</p>\n<p>これは <span class=\"target\" id=\"index-19\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc3987.html#section-3.2\"><strong>RFC 3987 Section 3.2</strong></a> のセクション3.2からのアルゴリズムです。</p>\n<p>ASCII バイトで表される URI を受け取り、エンコードされた結果を含む文字列を返します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.encoding.filepath_to_uri\">\n<span class=\"sig-name descname\">filepath_to_uri</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">path</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.encoding.filepath_to_uri\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ファイルシステムのパスを、URLに含めるのに適したURI部分に変換します。パスは、UTF-8バイト、文字列、または <a class=\"reference external\" href=\"https://docs.python.org/3/library/pathlib.html#pathlib.Path\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">Path</code></a> のいずれかであると想定されます。</p>\n<p>This method will encode certain characters that would normally be\nrecognized as special characters for URIs. Note that this method does not\nencode the ' character, as it is a valid character within URIs. See\n<code class=\"docutils literal notranslate\">encodeURIComponent()</code> JavaScript function for more details.</p>\n<p>エンコードされた結果を含む ASCII 文字列を返します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.encoding.escape_uri_path\">\n<span class=\"sig-name descname\">escape_uri_path</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">path</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.encoding.escape_uri_path\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>URI (Uniform Resource Identifier) のパス部分から安全でない文字をエスケープします。</p>\n</dd></dl>\n\n</section>\n<section id=\"module-django.utils.feedgenerator\">\n<span id=\"django-utils-feedgenerator\"></span><h2><code class=\"docutils literal notranslate\">django.utils.feedgenerator</code><a class=\"heading-anchor\" href=\"#module-django.utils.feedgenerator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>使用例：</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.utils</span> <span class=\"kn\">import</span> feedgenerator\n<span class=\"gp\">&gt;&gt;&gt; </span>feed <span class=\"o\">=</span> feedgenerator<span class=\"o\">.</span>Rss201rev2Feed<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    title<span class=\"o\">=</span><span class=\"s2\">&quot;Poynter E-Media Tidbits&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>    link<span class=\"o\">=</span><span class=\"s2\">&quot;https://www.poynter.org/tag/e-media-tidbits/&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>    description<span class=\"o\">=</span><span class=\"s2\">&quot;A group blog by the sharpest minds in online media/journalism/publishing.&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>    language<span class=\"o\">=</span><span class=\"s2\">&quot;en&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>feed<span class=\"o\">.</span>add_item<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    title<span class=\"o\">=</span><span class=\"s2\">&quot;Hello&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>    link<span class=\"o\">=</span><span class=\"s2\">&quot;https://www.holovaty.com/test/&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>    description<span class=\"o\">=</span><span class=\"s2\">&quot;Testing.&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">with</span> <span class=\"nb\">open</span><span class=\"p\">(</span><span class=\"s2\">&quot;test.rss&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;w&quot;</span><span class=\"p\">)</span> <span class=\"k\">as</span> fp<span class=\"p\">:</span>\n<span class=\"gp\">... </span>    feed<span class=\"o\">.</span>write<span class=\"p\">(</span>fp<span class=\"p\">,</span> <span class=\"s2\">&quot;utf-8&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">...</span>\n</code></pre></div>\n<p>ジェネレータの選択を簡略化するには、現在は <code class=\"docutils literal notranslate\">Rss201rev2Feed</code> である <code class=\"docutils literal notranslate\">feedgenerator.DefaultFeed</code> を使用します。</p>\n<p>For definitions of the different versions of RSS, see <a class=\"reference external\" href=\"https://web.archive.org/web/20110718035220/http://diveintomark.org/archives/2004/02/04/incompatible-rss\">The myth of RSS\ncompatibility</a>.</p>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.get_tag_uri\">\n<span class=\"sig-name descname\">get_tag_uri</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">url</em>, <em class=\"sig-param\">date</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.get_tag_uri\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>TagURI を作成します。</p>\n<p>See <a class=\"reference external\" href=\"https://web.archive.org/web/20110514113830/http://diveintomark.org/archives/2004/05/28/howto-atom-id\">How to make a good ID in Atom</a>.</p>\n</dd></dl>\n\n<section id=\"stylesheet\">\n<h3><code class=\"docutils literal notranslate\">Stylesheet</code><a class=\"heading-anchor\" href=\"#stylesheet\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<aside class=\"version-note version-added\" data-version=\"5.2\" role=\"note\">\n<p class=\"version-note-title\">New in Django 5.2</p></aside>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.Stylesheet\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Stylesheet</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">url</em>, <em class=\"sig-param\">mimetype<span class=\"o\">=</span><span class=\"default_value\">''</span></em>, <em class=\"sig-param\">media<span class=\"o\">=</span><span class=\"default_value\">'screen'</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.Stylesheet\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>RSS スタイルシートを表します。</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.Stylesheet.url\">\n<span class=\"sig-name descname\">url</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.Stylesheet.url\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>必須の引数です。スタイルシートが配置される URL を意味します。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.Stylesheet.mimetype\">\n<span class=\"sig-name descname\">mimetype</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.Stylesheet.mimetype\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>An optional string containing the MIME type of the stylesheet. If not\nspecified, Django will attempt to guess it by using Python's\n<a class=\"reference external\" href=\"https://docs.python.org/3/library/mimetypes.html#mimetypes.guess_type\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">mimetypes.guess_type()</code></a>. Use <code class=\"docutils literal notranslate\">mimetype=None</code> if you don't\nwant your stylesheet to have a MIME type specified.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.Stylesheet.media\">\n<span class=\"sig-name descname\">media</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.Stylesheet.media\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>スタイルシートの <code class=\"docutils literal notranslate\">media</code> 属性として使用される任意の文字列。デフォルトは <code class=\"docutils literal notranslate\">&quot;screen&quot;</code> です。 スタイルシートに <code class=\"docutils literal notranslate\">media</code> 属性を持たせたくない場合は、 <code class=\"docutils literal notranslate\">media=None</code> と指定してください。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"syndicationfeed\">\n<h3><code class=\"docutils literal notranslate\">SyndicationFeed</code><a class=\"heading-anchor\" href=\"#syndicationfeed\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.SyndicationFeed\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">SyndicationFeed</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.SyndicationFeed\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>すべての配信 (syndication) フィードの基底クラスです。サブクラスでは <code class=\"docutils literal notranslate\">write()</code> を提供すべきです。</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.SyndicationFeed.__init__\">\n<span class=\"sig-name descname\">__init__</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">title</em>, <em class=\"sig-param\">link</em>, <em class=\"sig-param\">description</em>, <em class=\"sig-param\">language<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">author_email<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">author_name<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">author_link<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">subtitle<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">categories<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">feed_url<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">feed_copyright<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">feed_guid<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">ttl<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">stylesheets<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.SyndicationFeed.__init__\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>与えられたメタデータの辞書でフィードを初期化します。これはフィード全体に適用されます。</p>\n<p><code class=\"docutils literal notranslate\">__init__</code> に渡した追加のキーワード引数は、<code class=\"docutils literal notranslate\">self.feed</code> に格納されます。</p>\n<p>以下の2つを除き、パラメータは文字列を指定してください。</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">categories</code> は文字列のシーケンスであるべきです。</p></li>\n<li><p><code class=\"docutils literal notranslate\">stylesheets</code> には、文字列または <a class=\"reference internal\" href=\"#django.utils.feedgenerator.Stylesheet\" title=\"django.utils.feedgenerator.Stylesheet\"><code class=\"xref py py-class docutils literal notranslate\">Stylesheet</code></a> インスタンスのいずれかのシーケンスを指定する必要があります。</p></li>\n</ul>\n<aside class=\"version-note version-changed\" data-version=\"5.2\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 5.2</p><p><code class=\"docutils literal notranslate\">stylesheets</code> 引数が追加されました。</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.SyndicationFeed.add_item\">\n<span class=\"sig-name descname\">add_item</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">title</em>, <em class=\"sig-param\">link</em>, <em class=\"sig-param\">description</em>, <em class=\"sig-param\">author_email<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">author_name<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">author_link<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">pubdate<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">comments<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">unique_id<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">categories<span class=\"o\">=</span><span class=\"default_value\">()</span></em>, <em class=\"sig-param\">item_copyright<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">ttl<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">updateddate<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">enclosures<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.SyndicationFeed.add_item\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フィードにアイテムを追加します。すべての引数は文字列であることが前提ですが、 <code class=\"docutils literal notranslate\">pubdate</code> と <code class=\"docutils literal notranslate\">updateddate</code> は <code class=\"docutils literal notranslate\">datetime.datetime</code> オブジェクトであり、 <code class=\"docutils literal notranslate\">enclosures</code> は <code class=\"docutils literal notranslate\">Enclosure</code> インスタンスのリストです。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.SyndicationFeed.num_items\">\n<span class=\"sig-name descname\">num_items</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.SyndicationFeed.num_items\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.SyndicationFeed.root_attributes\">\n<span class=\"sig-name descname\">root_attributes</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.SyndicationFeed.root_attributes\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ルート (つまり、feed/channel) 要素に配置する追加の属性を返します。 <code class=\"docutils literal notranslate\">write()</code> から呼び出されます。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.SyndicationFeed.add_root_elements\">\n<span class=\"sig-name descname\">add_root_elements</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">handler</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.SyndicationFeed.add_root_elements\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ルート(つまり、feed/channel)要素に要素を追加します。<code class=\"docutils literal notranslate\">write()</code> から呼び出されます。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.SyndicationFeed.add_stylesheets\">\n<span class=\"sig-name descname\">add_stylesheets</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">self</em>, <em class=\"sig-param\">handler</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.SyndicationFeed.add_stylesheets\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><aside class=\"version-note version-added\" data-version=\"5.2\" role=\"note\">\n<p class=\"version-note-title\">New in Django 5.2</p></aside>\n<p>ドキュメントにスタイルシート情報を追加します。 <code class=\"docutils literal notranslate\">write()</code> から呼び出されます。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.SyndicationFeed.item_attributes\">\n<span class=\"sig-name descname\">item_attributes</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">item</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.SyndicationFeed.item_attributes\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>各アイテム(つまり item/entry 要素)に配置するための追加属性を返します。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.SyndicationFeed.add_item_elements\">\n<span class=\"sig-name descname\">add_item_elements</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">handler</em>, <em class=\"sig-param\">item</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.SyndicationFeed.add_item_elements\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>各アイテム（すなわち、item/entry）要素に要素を追加します。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.SyndicationFeed.write\">\n<span class=\"sig-name descname\">write</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">outfile</em>, <em class=\"sig-param\">encoding</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.SyndicationFeed.write\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>指定されたエンコーディングでフィードを <code class=\"docutils literal notranslate\">outfile</code> に出力します。これはファイルライクオブジェクトです。サブクラスではこれをオーバーライドするべきです。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.SyndicationFeed.writeString\">\n<span class=\"sig-name descname\">writeString</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">encoding</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.SyndicationFeed.writeString\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>指定されたエンコーディングでフィードを文字列として返します。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.SyndicationFeed.latest_post_date\">\n<span class=\"sig-name descname\">latest_post_date</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.SyndicationFeed.latest_post_date\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フィード内のすべてのアイテムの中で最新の <code class=\"docutils literal notranslate\">pubdate</code> または <code class=\"docutils literal notranslate\">updateddate</code> を返します。これらの属性を持つアイテムがない場合は、現在のUTC日付/時間を返します。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"enclosure\">\n<h3><code class=\"docutils literal notranslate\">Enclosure</code><a class=\"heading-anchor\" href=\"#enclosure\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.Enclosure\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Enclosure</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.Enclosure\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>RSSエンクロージャを表します</p>\n</dd></dl>\n\n</section>\n<section id=\"rssfeed\">\n<h3><code class=\"docutils literal notranslate\">RssFeed</code><a class=\"heading-anchor\" href=\"#rssfeed\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.RssFeed\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">RssFeed</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">SyndicationFeed</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.RssFeed\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n</section>\n<section id=\"rss201rev2feed\">\n<h3><code class=\"docutils literal notranslate\">Rss201rev2Feed</code><a class=\"heading-anchor\" href=\"#rss201rev2feed\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.Rss201rev2Feed\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Rss201rev2Feed</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">RssFeed</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.Rss201rev2Feed\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>仕様: <a class=\"reference external\" href=\"https://cyber.harvard.edu/rss/rss.html\">https://cyber.harvard.edu/rss/rss.html</a></p>\n</dd></dl>\n\n</section>\n<section id=\"rssuserland091feed\">\n<h3><code class=\"docutils literal notranslate\">RssUserland091Feed</code><a class=\"heading-anchor\" href=\"#rssuserland091feed\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.RssUserland091Feed\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">RssUserland091Feed</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">RssFeed</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.RssUserland091Feed\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>仕様: <a class=\"reference external\" href=\"http://backend.userland.com/rss091\">http://backend.userland.com/rss091</a></p>\n</dd></dl>\n\n</section>\n<section id=\"atom1feed\">\n<h3><code class=\"docutils literal notranslate\">Atom1Feed</code><a class=\"heading-anchor\" href=\"#atom1feed\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.utils.feedgenerator.Atom1Feed\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Atom1Feed</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">SyndicationFeed</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.feedgenerator.Atom1Feed\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>仕様: <span class=\"target\" id=\"index-20\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc4287.html\"><strong>RFC 4287</strong></a></p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"module-django.utils.functional\">\n<span id=\"django-utils-functional\"></span><h2><code class=\"docutils literal notranslate\">django.utils.functional</code><a class=\"heading-anchor\" href=\"#module-django.utils.functional\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.utils.functional.cached_property\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">cached_property</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">func</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.functional.cached_property\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">&#64;cached_property</code> デコレータは、単一の <code class=\"docutils literal notranslate\">self</code> 引数を持つメソッドの結果をプロパティとしてキャッシュします。キャッシュされた結果はインスタンスが存在する限り永続しますので、インスタンスが渡され、その後関数が呼び出された場合、キャッシュされた結果が返されます。</p>\n<p>典型的なケースを考えてみましょう。ビューがモデルのメソッドを呼び出して計算を行った後に、テンプレートが再度メソッドを呼び出してモデルインスタンスをコンテキストに配置することがあるでしょう。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># the model</span>\n<span class=\"k\">class</span> <span class=\"nc\">Person</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    <span class=\"k\">def</span> <span class=\"nf\">friends</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"c1\"># expensive computation</span>\n        <span class=\"o\">...</span>\n        <span class=\"k\">return</span> friends\n\n\n<span class=\"c1\"># in the view:</span>\n<span class=\"k\">if</span> person<span class=\"o\">.</span>friends<span class=\"p\">():</span>\n    <span class=\"o\">...</span>\n</code></pre></div>\n<p>テンプレートは次のように記述します。</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">friend</span> <span class=\"k\">in</span> <span class=\"nv\">person.friends</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>この場合、 <code class=\"docutils literal notranslate\">friends()</code> が2回呼び出されます。ビューとテンプレートのインスタンス <code class=\"docutils literal notranslate\">person</code> は同一なので、 <code class=\"docutils literal notranslate\">friends()</code> メソッドに <code class=\"docutils literal notranslate\">&#64;cached_property</code> をつけることで、呼び出しの重複を回避できます。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.utils.functional</span> <span class=\"kn\">import</span> cached_property\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Person</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    <span class=\"nd\">@cached_property</span>\n    <span class=\"k\">def</span> <span class=\"nf\">friends</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span> <span class=\"o\">...</span>\n</code></pre></div>\n<p>なお、メソッドがプロパティになったため、Pythonのコードからのアクセスが変わっていることに注意してください。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># in the view:</span>\n<span class=\"k\">if</span> person<span class=\"o\">.</span>friends<span class=\"p\">:</span>\n    <span class=\"o\">...</span>\n</code></pre></div>\n<p>キャッシュされた値は、インスタンスの通常の属性のように扱うことができます。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># clear it, requiring re-computation next time it&#39;s called</span>\nperson<span class=\"o\">.</span><span class=\"vm\">__dict__</span><span class=\"o\">.</span>pop<span class=\"p\">(</span><span class=\"s2\">&quot;friends&quot;</span><span class=\"p\">,</span> <span class=\"kc\">None</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># set a value manually, that will persist on the instance until cleared</span>\nperson<span class=\"o\">.</span>friends <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s2\">&quot;Huckleberry Finn&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Tom Sawyer&quot;</span><span class=\"p\">]</span>\n</code></pre></div>\n<p>Because of the way the <a class=\"reference external\" href=\"https://docs.python.org/3/reference/datamodel.html#descriptor-invocation\" title=\"(in Python v3.14)\"><span class=\"xref std std-ref\">descriptor protocol</span></a> works, using <code class=\"docutils literal notranslate\">del</code> (or <code class=\"docutils literal notranslate\">delattr</code>) on a\n<code class=\"docutils literal notranslate\">cached_property</code> that hasn't been accessed raises <code class=\"docutils literal notranslate\">AttributeError</code>.</p>\n<p><code class=\"docutils literal notranslate\">&#64;cached_property</code> はパフォーマンスの利点をもたらすだけでなく、属性の値がインスタンスが有効なうちに予期せず変更されないことも保証します。これは、 <code class=\"docutils literal notranslate\">datetime.now()</code> に基づいて計算されるメソッドや、同一のインスタンスのメソッドを呼び出している間に他のプロセスによって変更がデータベースに保存された場合などに発生する可能性があります。</p>\n<p>また、メソッドのキャッシュされたプロパティを作成することもできます。たとえば、高コストな <code class=\"docutils literal notranslate\">get_friends()</code> メソッドを持っており、キャッシュされた値を取得せずに呼び出すことを許可したい場合、次のように記述できます。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>friends <span class=\"o\">=</span> cached_property<span class=\"p\">(</span>get_friends<span class=\"p\">)</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\">person.get_friends()</code> を呼び出すたびに <code class=\"docutils literal notranslate\">friends</code> は再計算されますが、キャッシュされたプロパティの値は、上記の説明に従って削除するまで永続します。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>x <span class=\"o\">=</span> person<span class=\"o\">.</span>friends  <span class=\"c1\"># calls first time</span>\ny <span class=\"o\">=</span> person<span class=\"o\">.</span>get_friends<span class=\"p\">()</span>  <span class=\"c1\"># calls again</span>\nz <span class=\"o\">=</span> person<span class=\"o\">.</span>friends  <span class=\"c1\"># does not call</span>\nx <span class=\"ow\">is</span> z  <span class=\"c1\"># is True</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.utils.functional.classproperty\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">classproperty</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">method<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.functional.classproperty\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Similar to <a class=\"reference external\" href=\"https://docs.python.org/3/library/functions.html#classmethod\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">&#64;classmethod</code></a>, the <code class=\"docutils literal notranslate\">&#64;classproperty</code>\ndecorator converts the result of a method with a single <code class=\"docutils literal notranslate\">cls</code> argument\ninto a property that can be accessed directly from the class.</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.functional.keep_lazy\">\n<span class=\"sig-name descname\">keep_lazy</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">func</em>, <em class=\"sig-param\"><span class=\"o\">*</span>resultclasses</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.functional.keep_lazy\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Djangoでは、文字列を最初の引数として受け取り、その文字列に何らかの処理を行う多くのユーティリティ関数を（特に <code class=\"docutils literal notranslate\">django.utils</code> において）提供しています。これらの関数は、テンプレートフィルタや他のコード内で直接使用されます。</p>\n<p>独自の類似機能を書いて、翻訳を扱う際に、最初の引数が遅延評価の翻訳オブジェクトだった場合に何をすべきかという問題に直面します。この機能がビューの外部で使用される可能性があるため(その場合、現在のスレッドのロケール設定が正しくない可能性があります)、すぐに文字列に変換したくないでしょう。</p>\n<p>このような場合には、<code class=\"docutils literal notranslate\">django.utils.functional.keep_lazy()</code> デコレータを使用してください。これは、関数が引数の1つとして遅延評価される翻訳を持つ場合に、関数の評価を文字列に変換する必要があるまで遅らせるように変更します。</p>\n<p>例:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.utils.functional</span> <span class=\"kn\">import</span> keep_lazy<span class=\"p\">,</span> keep_lazy_text\n\n\n<span class=\"k\">def</span> <span class=\"nf\">fancy_utility_function</span><span class=\"p\">(</span>s<span class=\"p\">,</span> <span class=\"o\">*</span>args<span class=\"p\">,</span> <span class=\"o\">**</span>kwargs<span class=\"p\">):</span>\n    <span class=\"c1\"># Do some conversion on string &#39;s&#39;</span>\n    <span class=\"o\">...</span>\n\n\nfancy_utility_function <span class=\"o\">=</span> keep_lazy<span class=\"p\">(</span><span class=\"nb\">str</span><span class=\"p\">)(</span>fancy_utility_function<span class=\"p\">)</span>\n\n\n<span class=\"c1\"># Or more succinctly:</span>\n<span class=\"nd\">@keep_lazy</span><span class=\"p\">(</span><span class=\"nb\">str</span><span class=\"p\">)</span>\n<span class=\"k\">def</span> <span class=\"nf\">fancy_utility_function</span><span class=\"p\">(</span>s<span class=\"p\">,</span> <span class=\"o\">*</span>args<span class=\"p\">,</span> <span class=\"o\">**</span>kwargs<span class=\"p\">):</span> <span class=\"o\">...</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\">keep_lazy()</code> デコレータは、オリジナルの関数が返すことができる型を指定するための追加引数 (<code class=\"docutils literal notranslate\">*args</code>) を受け取ります。一般的な使用例は、テキストを返す関数を持つ場合です。これには、<code class=\"docutils literal notranslate\">str</code> 型を <code class=\"docutils literal notranslate\">keep_lazy</code> に渡すことができます(または、次のセクションで説明されている <a class=\"reference internal\" href=\"#django.utils.functional.keep_lazy_text\" title=\"django.utils.functional.keep_lazy_text\"><code class=\"xref py py-func docutils literal notranslate\">keep_lazy_text()</code></a> デコレータを使用します)。</p>\n<p>このデコレータを使用すると、入力が適切な文字列であると仮定して関数を書き、最後に遅延翻訳オブジェクトのサポートを追加できます。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.functional.keep_lazy_text\">\n<span class=\"sig-name descname\">keep_lazy_text</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">func</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.functional.keep_lazy_text\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">keep_lazy(str)(func)</code> のショートカットです。</p>\n<p>テキストを返す関数があり、引数の評価を遅延させつつ、遅延引数を取ることができるようにしたい場合は、このデコレータを使用できます：</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.utils.functional</span> <span class=\"kn\">import</span> keep_lazy<span class=\"p\">,</span> keep_lazy_text\n\n\n<span class=\"c1\"># Our previous example was:</span>\n<span class=\"nd\">@keep_lazy</span><span class=\"p\">(</span><span class=\"nb\">str</span><span class=\"p\">)</span>\n<span class=\"k\">def</span> <span class=\"nf\">fancy_utility_function</span><span class=\"p\">(</span>s<span class=\"p\">,</span> <span class=\"o\">*</span>args<span class=\"p\">,</span> <span class=\"o\">**</span>kwargs<span class=\"p\">):</span> <span class=\"o\">...</span>\n\n\n<span class=\"c1\"># Which can be rewritten as:</span>\n<span class=\"nd\">@keep_lazy_text</span>\n<span class=\"k\">def</span> <span class=\"nf\">fancy_utility_function</span><span class=\"p\">(</span>s<span class=\"p\">,</span> <span class=\"o\">*</span>args<span class=\"p\">,</span> <span class=\"o\">**</span>kwargs<span class=\"p\">):</span> <span class=\"o\">...</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"module-django.utils.html\">\n<span id=\"django-utils-html\"></span><h2><code class=\"docutils literal notranslate\">django.utils.html</code><a class=\"heading-anchor\" href=\"#module-django.utils.html\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>通常、Djangoの自動エスケープ機構を利用するために、Djangoのテンプレートを使用してHTMLを構築するべきです。適切な場合には、 <a class=\"reference internal\" href=\"#module-django.utils.safestring\" title=\"django.utils.safestring: Functions and classes for working with strings that can be displayed safely without further escaping in HTML.\"><code class=\"xref py py-mod docutils literal notranslate\">django.utils.safestring</code></a> のユーティリティを使用します。このモジュールは、HTMLをエスケープするためのいくつかの追加の低レベルユーティリティを提供します。</p>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.html.escape\">\n<span class=\"sig-name descname\">escape</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">text</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.html.escape\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>与えられたテキストに対して、HTMLで使うためにアンパサンド、引用符、および山括弧をエンコードします。入力は最初に文字列に強制され、出力には <a class=\"reference internal\" href=\"#django.utils.safestring.mark_safe\" title=\"django.utils.safestring.mark_safe\"><code class=\"xref py py-func docutils literal notranslate\">mark_safe()</code></a> が適用されます。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.html.conditional_escape\">\n<span class=\"sig-name descname\">conditional_escape</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">text</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.html.conditional_escape\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Similar to <code class=\"docutils literal notranslate\">escape()</code>, except that it doesn't operate on pre-escaped\nstrings, so it will not double escape.</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.html.format_html\">\n<span class=\"sig-name descname\">format_html</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">format_string</em>, <em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.html.format_html\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>これは <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#str.format\" title=\"(in Python v3.14)\"><code class=\"xref py py-meth docutils literal notranslate\">str.format()</code></a> に似ていますが、HTML フラグメントを組み立てるのに適しています。最初の引数 <code class=\"docutils literal notranslate\">format_string</code> はエスケープされませんが、その他の引数とキーワード引数はすべて <a class=\"reference internal\" href=\"#django.utils.html.conditional_escape\" title=\"django.utils.html.conditional_escape\"><code class=\"xref py py-func docutils literal notranslate\">conditional_escape()</code></a> を通してから <code class=\"docutils literal notranslate\">str.format()</code> に渡されます。最終的に、出力には <a class=\"reference internal\" href=\"#django.utils.safestring.mark_safe\" title=\"django.utils.safestring.mark_safe\"><code class=\"xref py py-func docutils literal notranslate\">mark_safe()</code></a> が適用されます。</p>\n<p>小さなHTML断片を構築する場合、この関数は文字列補間の <code class=\"docutils literal notranslate\">%</code> や <code class=\"docutils literal notranslate\">str.format()</code> を直接利用するよりも望まれます。なぜなら、この関数はテンプレートシステムと同様に、全ての引数にエスケープ処理を適用するからです。</p>\n<p>そのため、以下のように書く代わりに：</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>mark_safe<span class=\"p\">(</span>\n    <span class=\"s2\">&quot;</span><span class=\"si\">%s</span><span class=\"s2\"> &lt;b&gt;</span><span class=\"si\">%s</span><span class=\"s2\">&lt;/b&gt; </span><span class=\"si\">%s</span><span class=\"s2\">&quot;</span>\n    <span class=\"o\">%</span> <span class=\"p\">(</span>\n        some_html<span class=\"p\">,</span>\n        escape<span class=\"p\">(</span>some_text<span class=\"p\">),</span>\n        escape<span class=\"p\">(</span>some_other_text<span class=\"p\">),</span>\n    <span class=\"p\">)</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>次のものを使用すべきです:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>format_html<span class=\"p\">(</span>\n    <span class=\"s2\">&quot;</span><span class=\"si\">{}</span><span class=\"s2\"> &lt;b&gt;</span><span class=\"si\">{}</span><span class=\"s2\">&lt;/b&gt; </span><span class=\"si\">{}</span><span class=\"s2\">&quot;</span><span class=\"p\">,</span>\n    mark_safe<span class=\"p\">(</span>some_html<span class=\"p\">),</span>\n    some_text<span class=\"p\">,</span>\n    some_other_text<span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>これは、各引数に対して <a class=\"reference internal\" href=\"#django.utils.html.escape\" title=\"django.utils.html.escape\"><code class=\"xref py py-func docutils literal notranslate\">escape()</code></a> を適用する必要がなく、1つを忘れた場合にバグや XSS 脆弱性が発生するリスクがないという利点があります。</p>\n<p>この関数は <code class=\"docutils literal notranslate\">str.format()</code> を使用して補間を行いますが、 <code class=\"docutils literal notranslate\">str.format()</code> が提供する一部の書式設定オプション（例えば数値の書式設定など）は機能しないことに注意してください。なぜなら、すべての引数が <a class=\"reference internal\" href=\"#django.utils.html.conditional_escape\" title=\"django.utils.html.conditional_escape\"><code class=\"xref py py-func docutils literal notranslate\">conditional_escape()</code></a> を介して渡され、これが最終的に <a class=\"reference internal\" href=\"#django.utils.encoding.force_str\" title=\"django.utils.encoding.force_str\"><code class=\"xref py py-func docutils literal notranslate\">force_str()</code></a> を値に対して呼び出すためです。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.html.format_html_join\">\n<span class=\"sig-name descname\">format_html_join</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">sep</em>, <em class=\"sig-param\">format_string</em>, <em class=\"sig-param\">args_generator</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.html.format_html_join\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"#django.utils.html.format_html\" title=\"django.utils.html.format_html\"><code class=\"xref py py-func docutils literal notranslate\">format_html()</code></a> のラッパーで、同じフォーマット文字列を使用してフォーマットする必要がある引数のグループと、<code class=\"docutils literal notranslate\">sep</code> を使用して結合する一般的なケースのためのものです。<code class=\"docutils literal notranslate\">sep</code> も <a class=\"reference internal\" href=\"#django.utils.html.conditional_escape\" title=\"django.utils.html.conditional_escape\"><code class=\"xref py py-func docutils literal notranslate\">conditional_escape()</code></a> を通して渡されます。</p>\n<p><code class=\"docutils literal notranslate\">args_generator</code> は、<a class=\"reference internal\" href=\"#django.utils.html.format_html\" title=\"django.utils.html.format_html\"><code class=\"xref py py-func docutils literal notranslate\">format_html()</code></a> に渡す引数を生成するイテレータである必要があります。生成する値は、位置引数のシーケンスか、キーワード引数のマッピングのいずれかです。</p>\n<p>例えば、タプルは位置引数として使用されます。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>format_html_join<span class=\"p\">(</span>\n    <span class=\"s2\">&quot;</span><span class=\"se\">\\n</span><span class=\"s2\">&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;&lt;li&gt;</span><span class=\"si\">{}</span><span class=\"s2\"> </span><span class=\"si\">{}</span><span class=\"s2\">&lt;/li&gt;&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">((</span>u<span class=\"o\">.</span>first_name<span class=\"p\">,</span> u<span class=\"o\">.</span>last_name<span class=\"p\">)</span> <span class=\"k\">for</span> u <span class=\"ow\">in</span> users<span class=\"p\">),</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>辞書はキーワード引数として使用されます。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>format_html_join<span class=\"p\">(</span>\n    <span class=\"s2\">&quot;</span><span class=\"se\">\\n</span><span class=\"s2\">&quot;</span><span class=\"p\">,</span>\n    <span class=\"s1\">&#39;&lt;li data-id=&quot;</span><span class=\"si\">{id}</span><span class=\"s1\">&quot;&gt;</span><span class=\"si\">{id}</span><span class=\"s1\"> </span><span class=\"si\">{title}</span><span class=\"s1\">&lt;/li&gt;&#39;</span><span class=\"p\">,</span>\n    <span class=\"p\">({</span><span class=\"s2\">&quot;id&quot;</span><span class=\"p\">:</span> b<span class=\"o\">.</span>id<span class=\"p\">,</span> <span class=\"s2\">&quot;title&quot;</span><span class=\"p\">:</span> b<span class=\"o\">.</span>title<span class=\"p\">}</span> <span class=\"k\">for</span> b <span class=\"ow\">in</span> books<span class=\"p\">),</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<aside class=\"version-note version-changed\" data-version=\"5.2\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 5.2</p><p><code class=\"docutils literal notranslate\">args_generator</code> においてマッピングのサポートが追加されました。</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.html.json_script\">\n<span class=\"sig-name descname\">json_script</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em>, <em class=\"sig-param\">element_id<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">encoder<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.html.json_script\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>すべてのHTML/XML特殊文字をそのユニコードエスケープでエスケープするため、値はJavaScriptでの使用に安全です。エスケープされたJSONを <code class=\"docutils literal notranslate\">&lt;script&gt;</code> タグでラップします。 <code class=\"docutils literal notranslate\">element_id</code> パラメータが <code class=\"docutils literal notranslate\">None</code> でない場合、<code class=\"docutils literal notranslate\">&lt;script&gt;</code> タグに渡されたidが与えられます。例えば：</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>json_script<span class=\"p\">({</span><span class=\"s2\">&quot;hello&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;world&quot;</span><span class=\"p\">},</span> element_id<span class=\"o\">=</span><span class=\"s2\">&quot;hello-data&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;&lt;script id=&quot;hello-data&quot; type=&quot;application/json&quot;&gt;{&quot;hello&quot;: &quot;world&quot;}&lt;/script&gt;&#39;</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\">encoder</code> のデフォルトは <a class=\"reference internal\" href=\"/ja/6.0/topics/serialization/#django.core.serializers.json.DjangoJSONEncoder\" title=\"django.core.serializers.json.DjangoJSONEncoder\"><code class=\"xref py py-class docutils literal notranslate\">django.core.serializers.json.DjangoJSONEncoder</code></a> で、このエンコーダーがデータのシリアライズに使用されます。このシリアライザについての詳細は、<a class=\"reference internal\" href=\"/ja/6.0/topics/serialization/#serialization-formats-json\"><span class=\"std std-ref\">JSON のシリアライズ</span></a> を参照してください。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.html.strip_tags\">\n<span class=\"sig-name descname\">strip_tags</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.html.strip_tags\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>文字列から <code class=\"docutils literal notranslate\">&lt;&gt;</code> で囲まれた、HTML タグのように見えるものをすべて除去しようとします。</p>\n<p>生成される文字列が HTML セーフであることについては、 <strong>絶対に</strong> 保証されません。したがって、たとえば <a class=\"reference internal\" href=\"#django.utils.html.escape\" title=\"django.utils.html.escape\"><code class=\"xref py py-func docutils literal notranslate\">escape()</code></a> でエスケープするなどの処理を行わずに、 <code class=\"docutils literal notranslate\">strip_tags</code> 呼び出しの結果を決してセーフと扱ってはいけません。</p>\n<p>例:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>strip_tags<span class=\"p\">(</span>value<span class=\"p\">)</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\">value</code> が <code class=\"docutils literal notranslate\">&quot;&lt;b&gt;Joel&lt;/b&gt; &lt;button&gt;is&lt;/button&gt; a &lt;span&gt;slug&lt;/span&gt;&quot;</code> の場合、戻り値は <code class=\"docutils literal notranslate\">&quot;Joel is a slug&quot;</code> になります。</p>\n<p>より堅牢なソリューションを探している場合は、サードパーティ製のHTMLサニタイジングツールの使用を検討してください。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.html.html_safe\">\n<span class=\"sig-name descname\">html_safe</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.html.html_safe\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>クラス上の <code class=\"docutils literal notranslate\">__html__()</code> メソッドは、HTMLエスケープが必要ないクラスの出力を非Djangoテンプレートが検出するのに役立ちます。</p>\n<p>このデコレータは、装飾されたクラスに <code class=\"docutils literal notranslate\">__str__()</code> を <a class=\"reference internal\" href=\"#django.utils.safestring.mark_safe\" title=\"django.utils.safestring.mark_safe\"><code class=\"xref py py-meth docutils literal notranslate\">mark_safe()</code></a> でラッピングし、 <code class=\"docutils literal notranslate\">__html__()</code> メソッドを定義します。 <code class=\"docutils literal notranslate\">__str__()</code> メソッドが HTML エスケープを必要としないテキストを確かに返すことを保証してください。</p>\n</dd></dl>\n\n</section>\n<section id=\"module-django.utils.http\">\n<span id=\"django-utils-http\"></span><h2><code class=\"docutils literal notranslate\">django.utils.http</code><a class=\"heading-anchor\" href=\"#module-django.utils.http\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.http.urlencode\">\n<span class=\"sig-name descname\">urlencode</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">query</em>, <em class=\"sig-param\">doseq<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.http.urlencode\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Python の <a class=\"reference external\" href=\"https://docs.python.org/3/library/urllib.parse.html#urllib.parse.urlencode\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">urllib.parse.urlencode()</code></a> 関数のバージョンで、<code class=\"docutils literal notranslate\">MultiValueDict</code> や非文字列値に対して操作を行うことができます。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.http.http_date\">\n<span class=\"sig-name descname\">http_date</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">epoch_seconds<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.http.http_date\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><span class=\"target\" id=\"index-21\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc1123.html#section-5.2.14\"><strong>RFC 1123 Section 5.2.14</strong></a> にて指定されている通り、HTTP <span class=\"target\" id=\"index-22\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc9110.html#section-5.6.7\"><strong>RFC 9110 Section 5.6.7</strong></a> の日付フォーマットに合わせて時間をフォーマットします。</p>\n<p>UTC(協定世界時)でのエポックからの秒数で表された浮動小数点数を受け入れます。例えば、 <code class=\"docutils literal notranslate\">time.time()</code> によって出力されるものです。<code class=\"docutils literal notranslate\">None</code> に設定された場合、デフォルトでは現在時刻になります。</p>\n<p>次の形式で文字列を出力します: <code class=\"docutils literal notranslate\">Wdy, DD Mon YYYY HH:MM:SS GMT</code> 。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.http.content_disposition_header\">\n<span class=\"sig-name descname\">content_disposition_header</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">as_attachment</em>, <em class=\"sig-param\">filename</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.http.content_disposition_header\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><span class=\"target\" id=\"index-23\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc6266.html\"><strong>RFC 6266</strong></a> に指定された <code class=\"docutils literal notranslate\">filename</code> から <code class=\"docutils literal notranslate\">Content-Disposition</code> HTTPヘッダー値を構築します。 <code class=\"docutils literal notranslate\">as_attachment</code> が <code class=\"docutils literal notranslate\">False</code> でかつ <code class=\"docutils literal notranslate\">filename</code> が <code class=\"docutils literal notranslate\">None</code> の場合は <code class=\"docutils literal notranslate\">None</code> を返し、それ以外の場合は <code class=\"docutils literal notranslate\">Content-Disposition</code> HTTPヘッダーに適した文字列を返します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.http.base36_to_int\">\n<span class=\"sig-name descname\">base36_to_int</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">s</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.http.base36_to_int\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>base36 文字列を整数に変換します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.http.int_to_base36\">\n<span class=\"sig-name descname\">int_to_base36</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">i</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.http.int_to_base36\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>正の整数を base36 文字列に変換します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.http.urlsafe_base64_encode\">\n<span class=\"sig-name descname\">urlsafe_base64_encode</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">s</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.http.urlsafe_base64_encode\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>URLで使用するためにバイト文字列を base64 文字列にエンコードし、末尾の等号を削除します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.http.urlsafe_base64_decode\">\n<span class=\"sig-name descname\">urlsafe_base64_decode</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">s</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.http.urlsafe_base64_decode\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>base64エンコードされた文字列をデコードし、削除されたかもしれない末尾の等号を追加します。</p>\n</dd></dl>\n\n</section>\n<section id=\"module-django.utils.module_loading\">\n<span id=\"django-utils-module-loading\"></span><h2><code class=\"docutils literal notranslate\">django.utils.module_loading</code><a class=\"heading-anchor\" href=\"#module-django.utils.module_loading\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Python モジュールを扱うための関数です。</p>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.module_loading.import_string\">\n<span class=\"sig-name descname\">import_string</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">dotted_path</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.module_loading.import_string\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ドットで区切られたモジュールパスをインポートし、パスの最後の名前で指定された属性・クラスを返します。インポートが失敗した場合は <code class=\"docutils literal notranslate\">ImportError</code> を発生させます。例えば：</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.utils.module_loading</span> <span class=\"kn\">import</span> import_string\n\nValidationError <span class=\"o\">=</span> import_string<span class=\"p\">(</span><span class=\"s2\">&quot;django.core.exceptions.ValidationError&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>これは以下と同じです:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.core.exceptions</span> <span class=\"kn\">import</span> ValidationError\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"module-django.utils.safestring\">\n<span id=\"django-utils-safestring\"></span><h2><code class=\"docutils literal notranslate\">django.utils.safestring</code><a class=\"heading-anchor\" href=\"#module-django.utils.safestring\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>HTML でさらにエスケープする必要なく安全に表示できる「安全な文字列（safe strings）」を扱うための関数とクラス。何かを「安全な文字列」としてマークするということは、文字列の生成者が HTML エンジンによって解釈されるべきでない文字（例えば '&lt;' ）を適切なエンティティに変換済みであることを意味します。</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.utils.safestring.SafeString\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">SafeString</span><a class=\"heading-anchor\" href=\"#django.utils.safestring.SafeString\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>HTML出力の目的で「安全」として明示的にマークされた（これ以上のエスケープが必要ない） <code class=\"docutils literal notranslate\">str</code> のサブクラスです。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.safestring.mark_safe\">\n<span class=\"sig-name descname\">mark_safe</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">s</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.safestring.mark_safe\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>文字列を (HTML) 出力目的で安全であると明示的にマークします。返されたオブジェクトは、文字列が適切な場所であればどこでも使用できます。</p>\n<p>単一の文字列に対して複数回呼び出すことができます。</p>\n<p>デコレータとしても使用できます。</p>\n<p>HTMLの断片を組み立てる際には、通常、 <a class=\"reference internal\" href=\"#django.utils.html.format_html\" title=\"django.utils.html.format_html\"><code class=\"xref py py-func docutils literal notranslate\">django.utils.html.format_html()</code></a> を使用するべきです。</p>\n<p>マークされた文字列を安全としても、変更されると再び安全でなくなります。例えば：</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>mystr <span class=\"o\">=</span> <span class=\"s2\">&quot;&lt;b&gt;Hello World&lt;/b&gt;   &quot;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>mystr <span class=\"o\">=</span> mark_safe<span class=\"p\">(</span>mystr<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">type</span><span class=\"p\">(</span>mystr<span class=\"p\">)</span>\n<span class=\"go\">&lt;class &#39;django.utils.safestring.SafeString&#39;&gt;</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>mystr <span class=\"o\">=</span> mystr<span class=\"o\">.</span>strip<span class=\"p\">()</span>  <span class=\"c1\"># removing whitespace</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">type</span><span class=\"p\">(</span>mystr<span class=\"p\">)</span>\n<span class=\"go\">&lt;type &#39;str&#39;&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"module-django.utils.text\">\n<span id=\"django-utils-text\"></span><h2><code class=\"docutils literal notranslate\">django.utils.text</code><a class=\"heading-anchor\" href=\"#module-django.utils.text\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.text.format_lazy\">\n<span class=\"sig-name descname\">format_lazy</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">format_string</em>, <em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.text.format_lazy\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">format_string</code>、<code class=\"docutils literal notranslate\">args</code>、または <code class=\"docutils literal notranslate\">kwargs</code> に遅延オブジェクトが含まれている場合の <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#str.format\" title=\"(in Python v3.14)\"><code class=\"xref py py-meth docutils literal notranslate\">str.format()</code></a> のバージョンです。最初の引数は、フォーマットされる文字列です。例えば：</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.utils.text</span> <span class=\"kn\">import</span> format_lazy\n<span class=\"kn\">from</span> <span class=\"nn\">django.utils.translation</span> <span class=\"kn\">import</span> pgettext_lazy\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    path<span class=\"p\">(</span>\n        format_lazy<span class=\"p\">(</span><span class=\"s2\">&quot;</span><span class=\"si\">{person}</span><span class=\"s2\">/&lt;int:pk&gt;/&quot;</span><span class=\"p\">,</span> person<span class=\"o\">=</span>pgettext_lazy<span class=\"p\">(</span><span class=\"s2\">&quot;URL&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;person&quot;</span><span class=\"p\">)),</span>\n        PersonDetailView<span class=\"o\">.</span>as_view<span class=\"p\">(),</span>\n    <span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>この例では、翻訳機がURLの一部を翻訳できます。&quot;person&quot; を &quot;persona&quot; に翻訳した場合、正規表現は <code class=\"docutils literal notranslate\">persona/(?P&lt;pk&gt;\\d+)/$</code> に一致します。例えば、<code class=\"docutils literal notranslate\">persona/5/</code> のようになります。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.text.slugify\">\n<span class=\"sig-name descname\">slugify</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em>, <em class=\"sig-param\">allow_unicode<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.text.slugify\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>下記によって文字列をURLスラグに変換します:</p>\n<ol class=\"arabic simple\">\n<li><p><code class=\"docutils literal notranslate\">allow_unicode</code> が <code class=\"docutils literal notranslate\">False</code> （デフォルト）の場合、ASCII に変換します。</p></li>\n<li><p>小文字に変換します。</p></li>\n<li><p>英数字、アンダースコア、ハイフン、空白以外の文字を削除します。</p></li>\n<li><p>空白や繰り返されるダッシュを単一のダッシュに置き換えます。</p></li>\n<li><p>先頭と末尾の空白、ダッシュ、アンダースコアを削除します。</p></li>\n</ol>\n<p>例:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>slugify<span class=\"p\">(</span><span class=\"s2\">&quot; Joel is a slug &quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;joel-is-a-slug&#39;</span>\n</code></pre></div>\n<p>Unicode 文字を許可したい場合は、<code class=\"docutils literal notranslate\">allow_unicode=True</code> を渡します。例えば：</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>slugify<span class=\"p\">(</span><span class=\"s2\">&quot;你好 World&quot;</span><span class=\"p\">,</span> allow_unicode<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;你好-world&#39;</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"module-django.utils.timezone\">\n<span id=\"django-utils-timezone\"></span><span id=\"time-zone-selection-functions\"></span><h2><code class=\"docutils literal notranslate\">django.utils.timezone</code><a class=\"heading-anchor\" href=\"#module-django.utils.timezone\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.get_fixed_timezone\">\n<span class=\"sig-name descname\">get_fixed_timezone</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">offset</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.get_fixed_timezone\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>UTCからの固定オフセットを持つタイムゾーンを表す <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.tzinfo\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">tzinfo</code></a> インスタンスを返します。</p>\n<p><code class=\"docutils literal notranslate\">offset</code> は <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.timedelta\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime.timedelta</code></a> または整数の分数です。UTCより東のタイムゾーンには正の値を、西には負の値を使用してください。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.get_default_timezone\">\n<span class=\"sig-name descname\">get_default_timezone</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.get_default_timezone\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">デフォルトのタイムゾーン</span></a> を表す <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.tzinfo\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">tzinfo</code></a> インスタンスを返します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.get_default_timezone_name\">\n<span class=\"sig-name descname\">get_default_timezone_name</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.get_default_timezone_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">デフォルトタイムゾーンとカレントタイムゾーン</span></a> の名前を返します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.get_current_timezone\">\n<span class=\"sig-name descname\">get_current_timezone</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.get_current_timezone\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>カレントタイムゾーンを表す <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.tzinfo\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">tzinfo</code></a> インスタンスを返します。 <a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">カレントタイムゾーン</span></a> を参照してください。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.get_current_timezone_name\">\n<span class=\"sig-name descname\">get_current_timezone_name</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.get_current_timezone_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">カレントタイムゾーン</span></a> の名前を返します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.activate\">\n<span class=\"sig-name descname\">activate</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">timezone</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.activate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>カレントタイムゾーンを <a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">設定します</span></a> 。 <code class=\"docutils literal notranslate\">timezone</code> 引数は、 <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.tzinfo\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">tzinfo</code></a> のサブクラスのインスタンスまたはタイムゾーン名でなければなりません。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.deactivate\">\n<span class=\"sig-name descname\">deactivate</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.deactivate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">カレントタイムゾーン</span></a> を未設定にします。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.override\">\n<span class=\"sig-name descname\">override</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">timezone</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.override\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>This is a Python context manager that sets the <a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">current time zone</span></a> on entry with <a class=\"reference internal\" href=\"#django.utils.timezone.activate\" title=\"django.utils.timezone.activate\"><code class=\"xref py py-func docutils literal notranslate\">activate()</code></a>, and restores\nthe previously active time zone on exit. If the <code class=\"docutils literal notranslate\">timezone</code> argument is\n<code class=\"docutils literal notranslate\">None</code>, the <a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">current time zone</span></a> is unset\non entry with <a class=\"reference internal\" href=\"#django.utils.timezone.deactivate\" title=\"django.utils.timezone.deactivate\"><code class=\"xref py py-func docutils literal notranslate\">deactivate()</code></a> instead.</p>\n<p><code class=\"docutils literal notranslate\">override</code> は関数デコレータとしても使用できます。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.localtime\">\n<span class=\"sig-name descname\">localtime</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">timezone<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.localtime\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>aware な <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime</code></a> を、デフォルトでは <a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">カレントタイムゾーン</span></a> へと変換します。</p>\n<p><code class=\"docutils literal notranslate\">value</code> が省略された場合, デフォルトは <a class=\"reference internal\" href=\"#django.utils.timezone.now\" title=\"django.utils.timezone.now\"><code class=\"xref py py-func docutils literal notranslate\">now()</code></a> になります。</p>\n<p>この関数は naive な日時には機能しません。代わりに <a class=\"reference internal\" href=\"#django.utils.timezone.make_aware\" title=\"django.utils.timezone.make_aware\"><code class=\"xref py py-func docutils literal notranslate\">make_aware()</code></a> を使用してください。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.localdate\">\n<span class=\"sig-name descname\">localdate</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">timezone<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.localdate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"#django.utils.timezone.localtime\" title=\"django.utils.timezone.localtime\"><code class=\"xref py py-func docutils literal notranslate\">localtime()</code></a> を使用して、指定された <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime</code></a> を異なるタイムゾーンの <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-meth docutils literal notranslate\">date()</code></a> に変換し、デフォルトでは <a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">カレントタイムゾーン</span></a> を使用します。</p>\n<p><code class=\"docutils literal notranslate\">value</code> が省略された場合, デフォルトは <a class=\"reference internal\" href=\"#django.utils.timezone.now\" title=\"django.utils.timezone.now\"><code class=\"xref py py-func docutils literal notranslate\">now()</code></a> になります。</p>\n<p>この関数は naive な日時には機能しません。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.now\">\n<span class=\"sig-name descname\">now</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.now\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>現在の時刻を表す <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime</code></a> を返します。返される内容は <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-USE_TZ\"><code class=\"xref std std-setting docutils literal notranslate\">USE_TZ</code></a> の値によって異なります。</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-USE_TZ\"><code class=\"xref std std-setting docutils literal notranslate\">USE_TZ</code></a> が <code class=\"docutils literal notranslate\">False</code> の場合、システムのローカルタイムゾーンで現在の時刻を表す、関連するタイムゾーンのない <a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/timezones/#naive-vs-aware-datetimes\"><span class=\"std std-ref\">naive</span></a> な日時（タイムゾーンの関連がない日時）になります。</p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-USE_TZ\"><code class=\"xref std std-setting docutils literal notranslate\">USE_TZ</code></a> が <code class=\"docutils literal notranslate\">True</code> の場合、 UTC の現在時刻を表す <a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/timezones/#naive-vs-aware-datetimes\"><span class=\"std std-ref\">aware</span></a> な日時になります。 <a class=\"reference internal\" href=\"#django.utils.timezone.now\" title=\"django.utils.timezone.now\"><code class=\"xref py py-func docutils literal notranslate\">now()</code></a> は常に <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-TIME_ZONE\"><code class=\"xref std std-setting docutils literal notranslate\">TIME_ZONE</code></a> の値に関係なく UTC の時刻を返すことに注意してください。カレントタイムゾーンの時刻を取得するには <a class=\"reference internal\" href=\"#django.utils.timezone.localtime\" title=\"django.utils.timezone.localtime\"><code class=\"xref py py-func docutils literal notranslate\">localtime()</code></a> を使用します。</p></li>\n</ul>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.is_aware\">\n<span class=\"sig-name descname\">is_aware</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.is_aware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">value</code> が &quot;aware&quot; であれば <code class=\"docutils literal notranslate\">True</code> を、&quot;naive&quot; であれば <code class=\"docutils literal notranslate\">False</code> を返します。この関数は <code class=\"docutils literal notranslate\">value</code> が <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime</code></a> であると仮定します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.is_naive\">\n<span class=\"sig-name descname\">is_naive</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.is_naive\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">value</code> が naive である場合は <code class=\"docutils literal notranslate\">True</code> を aware である場合は <code class=\"docutils literal notranslate\">False</code> を返します。この関数は <code class=\"docutils literal notranslate\">value</code> が <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime</code></a> であると仮定します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.make_aware\">\n<span class=\"sig-name descname\">make_aware</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em>, <em class=\"sig-param\">timezone<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.make_aware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">value</code> が naive な <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime</code></a> であるとき、<code class=\"docutils literal notranslate\">timezone</code> 内での同じ時点を表す aware な <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime</code></a> を返します。<code class=\"docutils literal notranslate\">timezone</code> が <code class=\"docutils literal notranslate\">None</code> に設定されている場合、デフォルトで <a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">カレントタイムゾーン</span></a> になります。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.timezone.make_naive\">\n<span class=\"sig-name descname\">make_naive</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em>, <em class=\"sig-param\">timezone<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.timezone.make_naive\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">timezone</code> で指定されたタイムゾーンにおいて、aware な <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime</code></a> である <code class=\"docutils literal notranslate\">value</code> と同じ時点を表す naive な <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime</code></a> を返します。 <code class=\"docutils literal notranslate\">timezone</code> が <code class=\"docutils literal notranslate\">None</code> に設定されている場合、デフォルトで <a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">カレントタイムゾーン</span></a> に設定されます。</p>\n</dd></dl>\n\n</section>\n<section id=\"module-django.utils.translation\">\n<span id=\"django-utils-translation\"></span><h2><code class=\"docutils literal notranslate\">django.utils.translation</code><a class=\"heading-anchor\" href=\"#module-django.utils.translation\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>以下の使い方の完全な説明は、<a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/translation/\"><span class=\"doc\">翻訳ドキュメント</span></a> を参照してください。</p>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.gettext\">\n<span class=\"sig-name descname\">gettext</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">message</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.gettext\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">message</code> を翻訳し、文字列として返します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.pgettext\">\n<span class=\"sig-name descname\">pgettext</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">context</em>, <em class=\"sig-param\">message</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.pgettext\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">context</code> を考慮して <code class=\"docutils literal notranslate\">message</code> を翻訳し、文字列として返します。</p>\n<p>詳しくは <a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/translation/#contextual-markers\"><span class=\"std std-ref\">文脈マーカー</span></a> を参照してください。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.gettext_lazy\">\n<span class=\"sig-name descname\">gettext_lazy</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">message</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.gettext_lazy\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.pgettext_lazy\">\n<span class=\"sig-name descname\">pgettext_lazy</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">context</em>, <em class=\"sig-param\">message</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.pgettext_lazy\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>上述の lazy ではないものと同じですが、遅延処理を使用します。</p>\n<p><a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/translation/#lazy-translations\"><span class=\"std std-ref\">遅延翻訳のドキュメント</span></a> を参照してください。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.gettext_noop\">\n<span class=\"sig-name descname\">gettext_noop</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">message</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.gettext_noop\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>翻訳用に文字列をマークしますが、この段階では翻訳しません。(外部で使われる可能性があるため) ベースの言語のままにする必要があるグローバル変数に文字列を保持するために使えます。そして、後の時点で翻訳します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.ngettext\">\n<span class=\"sig-name descname\">ngettext</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">singular</em>, <em class=\"sig-param\">plural</em>, <em class=\"sig-param\">number</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.ngettext\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">number</code> に基づいて、<code class=\"docutils literal notranslate\">singular</code> と <code class=\"docutils literal notranslate\">plural</code> を翻訳し、適切な文字列を返します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.npgettext\">\n<span class=\"sig-name descname\">npgettext</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">context</em>, <em class=\"sig-param\">singular</em>, <em class=\"sig-param\">plural</em>, <em class=\"sig-param\">number</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.npgettext\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">singular</code> と <code class=\"docutils literal notranslate\">plural</code> を翻訳し、<code class=\"docutils literal notranslate\">number</code> と <code class=\"docutils literal notranslate\">context</code> に基づいて適切な文字列を返します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.ngettext_lazy\">\n<span class=\"sig-name descname\">ngettext_lazy</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">singular</em>, <em class=\"sig-param\">plural</em>, <em class=\"sig-param\">number</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.ngettext_lazy\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.npgettext_lazy\">\n<span class=\"sig-name descname\">npgettext_lazy</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">context</em>, <em class=\"sig-param\">singular</em>, <em class=\"sig-param\">plural</em>, <em class=\"sig-param\">number</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.npgettext_lazy\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>上述の lazy ではないものと同じですが、遅延処理を使用します。</p>\n<p><a class=\"reference internal\" href=\"/ja/6.0/topics/i18n/translation/#lazy-translations\"><span class=\"std std-ref\">遅延翻訳のドキュメント</span></a> を参照してください。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.activate\">\n<span class=\"sig-name descname\">activate</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">language</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.activate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>渡された language に対して翻訳オブジェクトを取り出し、現在のスレッドに対してカレント翻訳オブジェクトとして有効化します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.deactivate\">\n<span class=\"sig-name descname\">deactivate</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.deactivate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>カレント翻訳オブジェクトを無効化し、さらなる _ 呼び出しが再びデフォルトの翻訳オブジェクトに対して解決するようにします。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.deactivate_all\">\n<span class=\"sig-name descname\">deactivate_all</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.deactivate_all\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>アクティブな翻訳オブジェクトを <code class=\"docutils literal notranslate\">NullTranslations()</code> のインスタンスにします。何らかの理由で遅延された翻訳を元の文字列で表示したいときに役立ちます。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.override\">\n<span class=\"sig-name descname\">override</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">language</em>, <em class=\"sig-param\">deactivate<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.override\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>指定された言語の翻訳オブジェクトを取得するために <a class=\"reference internal\" href=\"#django.utils.translation.activate\" title=\"django.utils.translation.activate\"><code class=\"xref py py-func docutils literal notranslate\">django.utils.translation.activate()</code></a> を使用し、現在のスレッドの翻訳オブジェクトとしてそれを有効化し、終了時に以前のアクティブな言語を再有効化する Python のコンテキストマネージャです。オプションで、 <code class=\"docutils literal notranslate\">deactivate</code> 引数が <code class=\"docutils literal notranslate\">True</code> である場合に限り、終了時に一時的な翻訳を無効化するために <a class=\"reference internal\" href=\"#django.utils.translation.deactivate\" title=\"django.utils.translation.deactivate\"><code class=\"xref py py-func docutils literal notranslate\">django.utils.translation.deactivate()</code></a> を使用できます。言語引数として <code class=\"docutils literal notranslate\">None</code> を渡すと、コンテキスト内で <code class=\"docutils literal notranslate\">NullTranslations()</code> インスタンスが有効化されます。</p>\n<p><code class=\"docutils literal notranslate\">override</code> は関数デコレータとしても使用できます。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.check_for_language\">\n<span class=\"sig-name descname\">check_for_language</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">lang_code</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.check_for_language\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>与えられた言語コード (たとえば 'fr' や 'pt_BR') に対するグローバル言語ファイルが存在するかどうかをチェックします。ユーザーが提供する言語が有効かどうかを決めるために使われます。</p>\n<p><code class=\"docutils literal notranslate\">lang_code</code> has a maximum accepted length of 500 characters. <code class=\"docutils literal notranslate\">False</code>\nis returned if it exceeds this limit, before any language-file lookup.</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.get_language\">\n<span class=\"sig-name descname\">get_language</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.get_language\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns the currently selected language code. Returns <code class=\"docutils literal notranslate\">None</code> if\ntranslations are temporarily deactivated (by <a class=\"reference internal\" href=\"#django.utils.translation.deactivate_all\" title=\"django.utils.translation.deactivate_all\"><code class=\"xref py py-func docutils literal notranslate\">deactivate_all()</code></a> or\nwhen <code class=\"docutils literal notranslate\">None</code> is passed to <a class=\"reference internal\" href=\"#django.utils.translation.override\" title=\"django.utils.translation.override\"><code class=\"xref py py-func docutils literal notranslate\">override()</code></a>).</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.get_language_bidi\">\n<span class=\"sig-name descname\">get_language_bidi</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.get_language_bidi\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>選択中の言語の BiDi レイアウトを返します:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">False</code> = 左から右へのレイアウト</p></li>\n<li><p><code class=\"docutils literal notranslate\">True</code> = 右から左へのレイアウト</p></li>\n</ul>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.get_language_from_request\">\n<span class=\"sig-name descname\">get_language_from_request</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">request</em>, <em class=\"sig-param\">check_path<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.get_language_from_request\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>リクエストを分析して、ユーザがシステムにどの言語を表示させたいかを明らかにします。settings.LANGUAGES にリストアップされている言語のみが考慮されます。ユーザが主言語の他に副言語をリクエストする場合は、主言語が送信されます。</p>\n<p><code class=\"docutils literal notranslate\">check_path</code> が <code class=\"docutils literal notranslate\">True</code> の場合、関数はまず、パスが <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-LANGUAGES\"><code class=\"xref std std-setting docutils literal notranslate\">LANGUAGES</code></a> 設定にリストアップされた言語コードで始まるかどうか、リクエストされた URL をチェックします。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.get_supported_language_variant\">\n<span class=\"sig-name descname\">get_supported_language_variant</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">lang_code</em>, <em class=\"sig-param\">strict<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.get_supported_language_variant\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>もし <code class=\"docutils literal notranslate\">lang_code</code> が <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-LANGUAGES\"><code class=\"xref std std-setting docutils literal notranslate\">LANGUAGES</code></a> 設定内に存在していれば <code class=\"docutils literal notranslate\">lang_code</code> を返し、もっと一般的なバリアントを選択する可能性があります。例えば、<code class=\"docutils literal notranslate\">lang_code</code> が <code class=\"docutils literal notranslate\">'es-ar'</code> で、<code class=\"docutils literal notranslate\">'es-ar'</code> は <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-LANGUAGES\"><code class=\"xref std std-setting docutils literal notranslate\">LANGUAGES</code></a> 内にはないが <code class=\"docutils literal notranslate\">'es'</code> は存在する場合、<code class=\"docutils literal notranslate\">'es'</code> が返されます。</p>\n<p><code class=\"docutils literal notranslate\">lang_code</code> には最大500文字までの長さ制限があります。 <code class=\"docutils literal notranslate\">lang_code</code> がこの制限を超え、<code class=\"docutils literal notranslate\">strict</code> が <code class=\"docutils literal notranslate\">True</code> の場合、または汎用バリアントが存在せず、<code class=\"docutils literal notranslate\">strict</code> が <code class=\"docutils literal notranslate\">False</code> の場合、 <a class=\"reference external\" href=\"https://docs.python.org/3/library/exceptions.html#LookupError\" title=\"(in Python v3.14)\"><code class=\"xref py py-exc docutils literal notranslate\">LookupError</code></a> が発生します。</p>\n<p><code class=\"docutils literal notranslate\">strict</code> が <code class=\"docutils literal notranslate\">False</code> (デフォルト) の場合、言語コードもその一般的なバリアントも見つからないときに、国別のバリアントが返されることがあります。たとえば、<a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-LANGUAGES\"><code class=\"xref std std-setting docutils literal notranslate\">LANGUAGES</code></a> に <code class=\"docutils literal notranslate\">'es-co'</code> のみが含まれている場合、その国別バリアントは <code class=\"docutils literal notranslate\">lang_code</code> が <code class=\"docutils literal notranslate\">'es'</code> や <code class=\"docutils literal notranslate\">'es-ar'</code> のような場合に返されます。これらのマッチは <code class=\"docutils literal notranslate\">strict=True</code> の場合には返されません。</p>\n<p>何も見つからない場合、<a class=\"reference external\" href=\"https://docs.python.org/3/library/exceptions.html#LookupError\" title=\"(in Python v3.14)\"><code class=\"xref py py-exc docutils literal notranslate\">LookupError</code></a> を発生させます。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.to_locale\">\n<span class=\"sig-name descname\">to_locale</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">language</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.to_locale\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>言語の名前 (en-us) をロケール名 (en_US) に変換します。</p>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.utils.translation.templatize\">\n<span class=\"sig-name descname\">templatize</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">src</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.translation.templatize\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Django テンプレートを <code class=\"docutils literal notranslate\">xgettext</code> によって理解されるものに変更します。Django 翻訳タグを標準的な <code class=\"docutils literal notranslate\">gettext</code> 関数の文に変換することによって行われます。</p>\n</dd></dl>\n\n</section>","rootId":"module-django.utils","toc":[{"title":"django.utils.cache","anchor":"module-django.utils.cache","children":[]},{"title":"django.utils.dateparse","anchor":"module-django.utils.dateparse","children":[]},{"title":"django.utils.decorators","anchor":"module-django.utils.decorators","children":[]},{"title":"django.utils.encoding","anchor":"module-django.utils.encoding","children":[]},{"title":"django.utils.feedgenerator","anchor":"module-django.utils.feedgenerator","children":[{"title":"Stylesheet","anchor":"stylesheet","children":[]},{"title":"SyndicationFeed","anchor":"syndicationfeed","children":[]},{"title":"Enclosure","anchor":"enclosure","children":[]},{"title":"RssFeed","anchor":"rssfeed","children":[]},{"title":"Rss201rev2Feed","anchor":"rss201rev2feed","children":[]},{"title":"RssUserland091Feed","anchor":"rssuserland091feed","children":[]},{"title":"Atom1Feed","anchor":"atom1feed","children":[]}]},{"title":"django.utils.functional","anchor":"module-django.utils.functional","children":[]},{"title":"django.utils.html","anchor":"module-django.utils.html","children":[]},{"title":"django.utils.http","anchor":"module-django.utils.http","children":[]},{"title":"django.utils.module_loading","anchor":"module-django.utils.module_loading","children":[]},{"title":"django.utils.safestring","anchor":"module-django.utils.safestring","children":[]},{"title":"django.utils.text","anchor":"module-django.utils.text","children":[]},{"title":"django.utils.timezone","anchor":"module-django.utils.timezone","children":[]},{"title":"django.utils.translation","anchor":"module-django.utils.translation","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API リファレンス","url":"/ja/6.0/ref/"}],"prev":{"docname":"ref/urls","title":"URLconf で使用するための django.urls 関数","url":"/ja/6.0/ref/urls/"},"next":{"docname":"ref/validators","title":"バリデータ (Validator)","url":"/ja/6.0/ref/validators/"},"formats":{"html":"/ja/6.0/ref/utils/","markdown":"/ja/6.0/ref/utils.md","json":"/ja/6.0/ref/utils.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/ref/utils.txt","official":"https://docs.djangoproject.com/ja/6.0/ref/utils/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}