{"title":"組み込みテンプレートタグとフィルタ","version":"5.2","locale":"ja","docname":"ref/templates/builtins","url":"/ja/5.2/ref/templates/builtins/","canonical":"https://djangodocs.dev/ja/5.2/ref/templates/builtins/","summary":"このドキュメントでは、 Django の組み込みテンプレートタグとフィルタについて述べます。 また 自動ドキュメンテーション を使えばインストールされている組み込みタグとカスタムタグのドキュメントを読めるのでお勧めです。 組み込みタグリファレンス Link to this heading # autoescape Link…","html":"<h1>組み込みテンプレートタグとフィルタ<a class=\"heading-anchor\" href=\"#built-in-template-tags-and-filters\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>このドキュメントでは、 Django の組み込みテンプレートタグとフィルタについて述べます。 また <a class=\"reference internal\" href=\"/ja/5.2/ref/contrib/admin/admindocs/\"><span class=\"doc\">自動ドキュメンテーション</span></a> を使えばインストールされている組み込みタグとカスタムタグのドキュメントを読めるのでお勧めです。</p>\n<section id=\"built-in-tag-reference\">\n<span id=\"ref-templates-builtins-tags\"></span><h2>組み込みタグリファレンス<a class=\"heading-anchor\" href=\"#built-in-tag-reference\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"autoescape\">\n<span id=\"std-templatetag-autoescape\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">autoescape</span></code><a class=\"heading-anchor\" href=\"#autoescape\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>自動エスケープ機能を制御します。このタグは引数に <code class=\"docutils literal notranslate\"><span class=\"pre\">on</span></code> または <code class=\"docutils literal notranslate\"><span class=\"pre\">off</span></code> を取り、ブロック内の自動エスケープの有効・無効を決定します。ブロックの最後は <code class=\"docutils literal notranslate\"><span class=\"pre\">endautoescape</span></code> タグで閉じるようにします。</p>\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\">autoescape</span> <span class=\"nv\">on</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">body</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endautoescape</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>自動エスケープがオンの場合、すべての変数由来の値を出力前に HTML エスケープします (他のフィルタはエスケープの前に適用されます)。この動作は、変数に <a class=\"reference internal\" href=\"#std-templatefilter-escape\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">escape</span></code></a> フィルタを手動で適用した場合と同じです。</p>\n<p>ただ一つの例外は、すでにエスケープに関して &quot;safe&quot; としてマークされている変数です。変数は、その変数に値を代入するコードによって <a class=\"reference internal\" href=\"#std-templatefilter-safe\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">safe</span></code></a> フィルタや <a class=\"reference internal\" href=\"#std-templatefilter-escape\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">escape</span></code></a> フィルタを適用されることで、 &quot;safe&quot; とマークされる可能性があります。</p>\n<p>自動エスケープが無効であるスコープ内では、 <a class=\"reference internal\" href=\"#std-templatefilter-escape\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">escape</span></code></a> を含むフィルタを連結すると、以下のような予期しない（しかしドキュメント化されている）結果を引き起こす可能性があります：</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\">autoescape</span> <span class=\"nv\">off</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">my_list</span><span class=\"o\">|</span><span class=\"nf\">join</span><span class=\"s2\">:&quot;, &quot;</span><span class=\"o\">|</span><span class=\"nf\">escape</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endautoescape</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>上記のコードは <code class=\"docutils literal notranslate\"><span class=\"pre\">my_list</span></code> の結合された要素をエスケープせずに出力します。これは、フィルタ連結シーケンスが最初に <code class=\"docutils literal notranslate\"><span class=\"pre\">my_list</span></code> に対して <a class=\"reference internal\" href=\"#std-templatefilter-join\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">join</span></code></a> を実行し (<code class=\"docutils literal notranslate\"><span class=\"pre\">autoescape</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">off</span></code> のため、各項目をエスケープせずに)、その結果を safe としてマークするからです。その後、この safe な結果が <a class=\"reference internal\" href=\"#std-templatefilter-escape\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">escape</span></code></a> フィルタに送られても2回目のエスケープはされません。</p>\n<p>シーケンスのすべての要素を適切にエスケープするには <a class=\"reference internal\" href=\"#std-templatefilter-escapeseq\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">escapeseq</span></code></a> フィルタを使います：</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\">autoescape</span> <span class=\"nv\">off</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">my_list</span><span class=\"o\">|</span><span class=\"nf\">escapeseq</span><span class=\"o\">|</span><span class=\"nf\">join</span><span class=\"s2\">:&quot;, &quot;</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endautoescape</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"block\">\n<span id=\"std-templatetag-block\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">block</span></code><a class=\"heading-anchor\" href=\"#block\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>子テンプレートによってオーバーライドされる部分を定義します。詳しくは <a class=\"reference internal\" href=\"/ja/5.2/ref/templates/language/#template-inheritance\"><span class=\"std std-ref\">テンプレートの継承</span></a> を参照してください。</p>\n</section>\n<section id=\"comment\">\n<span id=\"std-templatetag-comment\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">comment</span></code><a class=\"heading-anchor\" href=\"#comment\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">comment</span> <span class=\"pre\">%}</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">endcomment</span> <span class=\"pre\">%}</span></code> で囲まれた部分はすべて無視されます。最初のタグには追加の説明文を含めることができます。たとえばコードの一部をコメント化した際、その部分を無効にした理由を記述したいときなどに便利です。</p>\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=\"p\">&lt;</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>Rendered text with <span class=\"cp\">{{</span> <span class=\"nv\">pub_date</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;c&quot;</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">comment</span> <span class=\"s2\">&quot;Optional note&quot;</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>Commented out text with <span class=\"cp\">{{</span> <span class=\"nv\">create_date</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;c&quot;</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endcomment</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">comment</span></code> タグを入れ子にすることはできません。</p>\n</section>\n<section id=\"csrf-token\">\n<span id=\"std-templatetag-csrf_token\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">csrf_token</span></code><a class=\"heading-anchor\" href=\"#csrf-token\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>このタグは CSRF の防止のために使用します。詳細は <a class=\"reference internal\" href=\"/ja/5.2/ref/csrf/\"><span class=\"doc\">クロスサイトリクエストフォージェリ (CSRF)</span></a> を参照してください。.</p>\n</section>\n<section id=\"cycle\">\n<span id=\"std-templatetag-cycle\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">cycle</span></code><a class=\"heading-anchor\" href=\"#cycle\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>タグを実行するごとに、引数の文字列や変数から、順に一つずつ値を出力します。最初の処理では 1 番目の値が、その次に 2 番目の値、以下、4 個まで同様に処理されます。サイクルのすべての値を出力すると、再び 1 番目に戻って出力します。</p>\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\">o</span> <span class=\"k\">in</span> <span class=\"nv\">some_list</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">tr</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">cycle</span> <span class=\"s1\">&#39;row1&#39;</span> <span class=\"s1\">&#39;row2&#39;</span> <span class=\"cp\">%}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>\n        ...\n    <span class=\"p\">&lt;/</span><span class=\"nt\">tr</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>この例では、繰り返しの最初の実行では <code class=\"docutils literal notranslate\"><span class=\"pre\">row1</span></code> クラスを参照する HTML が生成されます。 2 回目には  <code class=\"docutils literal notranslate\"><span class=\"pre\">row2</span></code>、 3 回目は再び <code class=\"docutils literal notranslate\"><span class=\"pre\">row1</span></code> というように、ループを繰り返すたびに交互に処理されます。</p>\n<p>変数を使うこともできます。例えば、 <code class=\"docutils literal notranslate\"><span class=\"pre\">rowvalue1</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">rowvalue2</span></code> という2つのテンプレート変数がある場合、以下のように交互に値を変更できます：</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\">o</span> <span class=\"k\">in</span> <span class=\"nv\">some_list</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">tr</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">cycle</span> <span class=\"nv\">rowvalue1</span> <span class=\"nv\">rowvalue2</span> <span class=\"cp\">%}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>\n        ...\n    <span class=\"p\">&lt;/</span><span class=\"nt\">tr</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</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\">o</span> <span class=\"k\">in</span> <span class=\"nv\">some_list</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">tr</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">autoescape</span> <span class=\"nv\">off</span> <span class=\"cp\">%}{%</span> <span class=\"k\">cycle</span> <span class=\"nv\">rowvalue1</span> <span class=\"nv\">rowvalue2</span> <span class=\"cp\">%}{%</span> <span class=\"k\">endautoescape</span> <span class=\"cp\">%}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>\n        ...\n    <span class=\"p\">&lt;/</span><span class=\"nt\">tr</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</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\">o</span> <span class=\"k\">in</span> <span class=\"nv\">some_list</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">tr</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">cycle</span> <span class=\"s1\">&#39;row1&#39;</span> <span class=\"nv\">rowvalue2</span> <span class=\"s1\">&#39;row3&#39;</span> <span class=\"cp\">%}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>\n        ...\n    <span class=\"p\">&lt;/</span><span class=\"nt\">tr</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>場合によっては、次の値に進まずにサイクルの現在の値を参照したいこともあるでしょう。これを行うには、 <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">cycle</span> <span class=\"pre\">%}</span></code> タグに名前を付けます：</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\">cycle</span> <span class=\"s1\">&#39;row1&#39;</span> <span class=\"s1\">&#39;row2&#39;</span> <span class=\"k\">as</span> <span class=\"nv\">rowcolors</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>これ以降、コンテキスト変数としてサイクル名を参照することで、テンプレート内のどの場所にも現在のサイクルの値を挿入できます。元の <code class=\"docutils literal notranslate\"><span class=\"pre\">cycle</span></code> タグから独立してサイクルの値を次へ進めたいときには、変数の名前を指定して別の <code class=\"docutils literal notranslate\"><span class=\"pre\">cycle</span></code> タグを使用します。以下にテンプレートの例を挙げます:</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=\"p\">&lt;</span><span class=\"nt\">tr</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">td</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">cycle</span> <span class=\"s1\">&#39;row1&#39;</span> <span class=\"s1\">&#39;row2&#39;</span> <span class=\"k\">as</span> <span class=\"nv\">rowcolors</span> <span class=\"cp\">%}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>...<span class=\"p\">&lt;/</span><span class=\"nt\">td</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">td</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{{</span> <span class=\"nv\">rowcolors</span> <span class=\"cp\">}}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>...<span class=\"p\">&lt;/</span><span class=\"nt\">td</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">tr</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">tr</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">td</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">cycle</span> <span class=\"nv\">rowcolors</span> <span class=\"cp\">%}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>...<span class=\"p\">&lt;/</span><span class=\"nt\">td</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">td</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{{</span> <span class=\"nv\">rowcolors</span> <span class=\"cp\">}}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>...<span class=\"p\">&lt;/</span><span class=\"nt\">td</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">tr</span><span class=\"p\">&gt;</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=\"p\">&lt;</span><span class=\"nt\">tr</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">td</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;row1&quot;</span><span class=\"p\">&gt;</span>...<span class=\"p\">&lt;/</span><span class=\"nt\">td</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">td</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;row1&quot;</span><span class=\"p\">&gt;</span>...<span class=\"p\">&lt;/</span><span class=\"nt\">td</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">tr</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">tr</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">td</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;row2&quot;</span><span class=\"p\">&gt;</span>...<span class=\"p\">&lt;/</span><span class=\"nt\">td</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">td</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;row2&quot;</span><span class=\"p\">&gt;</span>...<span class=\"p\">&lt;/</span><span class=\"nt\">td</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">tr</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">cycle</span></code> タグ内では、空白で区切ることでいくつでも値を使うことができます。一重引用符 ( <code class=\"docutils literal notranslate\"><span class=\"pre\">'</span></code> ) または二重引用符 ( <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;</span></code> ) で囲まれた値は文字列リテラルとして扱われ、引用符のない値はテンプレート変数として扱われます。</p>\n<p>標準の設定において、 cycle タグに <code class=\"docutils literal notranslate\"><span class=\"pre\">as</span></code> を使う場合、 <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">cycle</span> <span class=\"pre\">%}</span></code> はサイクルの初期設定を行うときサイクル内で使う値を初期化します。これは、入れ子となったループや include されたテンプレートで値を使う場合に問題になるかもしれません。もしあなたがサイクルを宣言したいだけで初期値を生成させたくない場合には、タグのキーワードの最後に <code class=\"docutils literal notranslate\"><span class=\"pre\">silent</span></code> を加えてください。以下に例を示します:</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\">obj</span> <span class=\"k\">in</span> <span class=\"nv\">some_list</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">cycle</span> <span class=\"s1\">&#39;row1&#39;</span> <span class=\"s1\">&#39;row2&#39;</span> <span class=\"k\">as</span> <span class=\"nv\">rowcolors</span> <span class=\"nv\">silent</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">tr</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{{</span> <span class=\"nv\">rowcolors</span> <span class=\"cp\">}}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">include</span> <span class=\"s2\">&quot;subtemplate.html&quot;</span> <span class=\"cp\">%}</span><span class=\"p\">&lt;/</span><span class=\"nt\">tr</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>これは <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;tr&gt;</span></code> エレメントのリストを出力し、 <code class=\"docutils literal notranslate\"><span class=\"pre\">class</span></code> には <code class=\"docutils literal notranslate\"><span class=\"pre\">row1</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">row2</span></code> が交互に設定されます。サブテンプレートではそのコンテキスト内で <code class=\"docutils literal notranslate\"><span class=\"pre\">rowcolors</span></code> にアクセスし、値はそれを取り囲む <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;tr&gt;</span></code> のクラスに一致します。ここでもし <code class=\"docutils literal notranslate\"><span class=\"pre\">silent</span></code> キーワードが無かったら、 <code class=\"docutils literal notranslate\"><span class=\"pre\">row1</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">row2</span></code> は <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;tr&gt;</span></code> エレメントの外側で通常のテキストとして発行されます。</p>\n<p>あるサイクルの定義において silent キーワードが使われているとき、後に続いて使われる cycle タグには自動的に silent が適用されます。次に示すテンプレートは、 2 番めの <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">cycle</span> <span class=\"pre\">%}</span></code> 呼び出しでは <code class=\"docutils literal notranslate\"><span class=\"pre\">silent</span></code> を設定していませんが、何も出力しません。：</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\">cycle</span> <span class=\"s1\">&#39;row1&#39;</span> <span class=\"s1\">&#39;row2&#39;</span> <span class=\"k\">as</span> <span class=\"nv\">rowcolors</span> <span class=\"nv\">silent</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">cycle</span> <span class=\"nv\">rowcolors</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p><a class=\"reference internal\" href=\"#std-templatetag-resetcycle\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">resetcycle</span></code></a> タグを使うと、<code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">cycle</span> <span class=\"pre\">%}</span></code> タグが次に現れたときに最初の値から再スタートできます。</p>\n</section>\n<section id=\"debug\">\n<span id=\"std-templatetag-debug\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">debug</span></code><a class=\"heading-anchor\" href=\"#debug\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>現在のコンテキストやインポートモジュールを含むデバッグ情報を出力します。<a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> 設定が <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> の場合、<code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">debug</span> <span class=\"pre\">%}</span></code> は何も出力しません。</p>\n</section>\n<section id=\"extends\">\n<span id=\"std-templatetag-extends\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">extends</span></code><a class=\"heading-anchor\" href=\"#extends\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>このテンプレートが親テンプレートからの拡張であることを指示します。</p>\n<p>このタグには 2 種類の使い方があります:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">extends</span> <span class=\"pre\">&quot;base.html&quot;</span> <span class=\"pre\">%}</span></code> (引用符つき) の場合、リテラル値 &quot;base.html&quot; を親テンプレートの名前として使います。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">extends</span> <span class=\"pre\">variable</span> <span class=\"pre\">%}</span></code> とした場合、変数 <code class=\"docutils literal notranslate\"><span class=\"pre\">variable</span></code> の値を親テンプレートの名前として使います。変数の値が文字列の場合、 Django はその文字列を親テンプレートの名前として使います。値が <code class=\"docutils literal notranslate\"><span class=\"pre\">Template</span></code> オブジェクトの場合、Django はそのオブジェクトを親テンプレートにします。</p></li>\n</ul>\n<p>詳しくは <a class=\"reference internal\" href=\"/ja/5.2/ref/templates/language/#template-inheritance\"><span class=\"std std-ref\">テンプレートの継承</span></a> を参照してください。</p>\n<p>通常、テンプレート名はテンプレートローダーのルートディレクトリからの相対パスです。文字列引数には <code class=\"docutils literal notranslate\"><span class=\"pre\">./</span></code> または <code class=\"docutils literal notranslate\"><span class=\"pre\">../</span></code> で始まる相対パスを指定することもできます。例えば、以下のようなディレクトリ構造を仮定します：</p>\n<div class=\"code-block\" data-language=\"text\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Text</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=\"Text code\"><code>dir1/\n    template.html\n    base2.html\n    my/\n        base3.html\nbase1.html\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">template.html</span></code> では、以下のパスが有効です：</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\">extends</span> <span class=\"s2\">&quot;./base2.html&quot;</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">extends</span> <span class=\"s2\">&quot;../base1.html&quot;</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">extends</span> <span class=\"s2\">&quot;./my/base3.html&quot;</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"filter\">\n<span id=\"std-templatetag-filter\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">filter</span></code><a class=\"heading-anchor\" href=\"#filter\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>タグブロック内のコンテンツを、1 つまたは複数のフィルタに通します。複数のフィルタを使うときはパイプ（ &quot; | &quot; ）を使って連結します。フィルタには変数のように引数を与えることができます。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">filter</span></code> タグと <code class=\"docutils literal notranslate\"><span class=\"pre\">endfilter</span></code> タグに囲まれたテキストは、<em>すべて</em> ブロックに含まれることに注意しましょう。</p>\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\">filter</span> <span class=\"nf\">force_escape</span><span class=\"o\">|</span><span class=\"nf\">lower</span> <span class=\"cp\">%}</span>\n    This text will be HTML-escaped, and will appear in all lowercase.\n<span class=\"cp\">{%</span> <span class=\"k\">endfilter</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p><a class=\"reference internal\" href=\"#std-templatefilter-escape\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">escape</span></code></a> と <a class=\"reference internal\" href=\"#std-templatefilter-safe\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">safe</span></code></a> フィルタは引数として与えることができません。ブロックの自動エスケープを管理するには、代わりに <a class=\"reference internal\" href=\"#std-templatetag-autoescape\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">autoescape</span></code></a> タグを使ってください。</p>\n</aside>\n</section>\n<section id=\"firstof\">\n<span id=\"std-templatetag-firstof\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">firstof</span></code><a class=\"heading-anchor\" href=\"#firstof\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>最初の引数変数が &quot;false&quot; でない（つまり、存在し、空でなく、False の真偽値でなく、0 の数値でない）場合、その変数を出力します。渡された変数がすべて &quot;false&quot; の場合は何も出力しません。</p>\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\">firstof</span> <span class=\"nv\">var1</span> <span class=\"nv\">var2</span> <span class=\"nv\">var3</span> <span class=\"cp\">%}</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\">if</span> <span class=\"nv\">var1</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">var1</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">elif</span> <span class=\"nv\">var2</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">var2</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">elif</span> <span class=\"nv\">var3</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">var3</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>また、渡された変数がすべて False の場合のフォールバック値として、リテラル文字列を使うこともできます：</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\">firstof</span> <span class=\"nv\">var1</span> <span class=\"nv\">var2</span> <span class=\"nv\">var3</span> <span class=\"s2\">&quot;fallback value&quot;</span> <span class=\"cp\">%}</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\">autoescape</span> <span class=\"nv\">off</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">firstof</span> <span class=\"nv\">var1</span> <span class=\"nv\">var2</span> <span class=\"nv\">var3</span> <span class=\"s2\">&quot;&lt;strong&gt;fallback value&lt;/strong&gt;&quot;</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endautoescape</span> <span class=\"cp\">%}</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\">firstof</span> <span class=\"nv\">var1</span> <span class=\"nv\">var2</span><span class=\"o\">|</span><span class=\"nf\">safe</span> <span class=\"nv\">var3</span> <span class=\"s2\">&quot;&lt;strong&gt;fallback value&lt;/strong&gt;&quot;</span><span class=\"o\">|</span><span class=\"nf\">safe</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">firstof</span> <span class=\"pre\">var1</span> <span class=\"pre\">var2</span> <span class=\"pre\">var3</span> <span class=\"pre\">as</span> <span class=\"pre\">value</span> <span class=\"pre\">%}</span></code> のように書くことで、出力を 1 つの変数内に格納することもできます。</p>\n</section>\n<section id=\"for\">\n<span id=\"std-templatetag-for\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">for</span></code><a class=\"heading-anchor\" href=\"#for\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>配列の各項目をループし、コンテキスト変数でその項目を利用できるようにします。例えば、<code class=\"docutils literal notranslate\"><span class=\"pre\">athlete_list</span></code> で渡されたアスリートのリストを表示するには以下のようにします：</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=\"p\">&lt;</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">athlete</span> <span class=\"k\">in</span> <span class=\"nv\">athlete_list</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">athlete.name</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">for</span> <span class=\"pre\">obj</span> <span class=\"pre\">in</span> <span class=\"pre\">list</span> <span class=\"pre\">reversed</span> <span class=\"pre\">%}</span></code>　で、リストに対して逆順のループを実行できます。</p>\n<p>リストのリストをループする必要がある場合は、各サブリストの値を個々の変数にアンパックします。たとえば、コンテキストに <code class=\"docutils literal notranslate\"><span class=\"pre\">points</span></code> という (x,y) 座標のリストが含まれている場合、以下のように点のリストを出力できます：</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\">x</span><span class=\"o\">,</span> <span class=\"nv\">y</span> <span class=\"k\">in</span> <span class=\"nv\">points</span> <span class=\"cp\">%}</span>\n    There is a point at <span class=\"cp\">{{</span> <span class=\"nv\">x</span> <span class=\"cp\">}}</span>,<span class=\"cp\">{{</span> <span class=\"nv\">y</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>この方法は、辞書の各要素にアクセスしたい場合にも便利です。例えば <code class=\"docutils literal notranslate\"><span class=\"pre\">data</span></code> という辞書がある場合、以下のように辞書内のキーと値を表示できます:</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\">key</span><span class=\"o\">,</span> <span class=\"nv\">value</span> <span class=\"k\">in</span> <span class=\"nv\">data.items</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">key</span> <span class=\"cp\">}}</span>: <span class=\"cp\">{{</span> <span class=\"nv\">value</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>ドット演算子を使う場合、メソッドよりも辞書キーへの参照が優先することに注意してください。したがって、もしも <code class=\"docutils literal notranslate\"><span class=\"pre\">data</span></code> 辞書が <code class=\"docutils literal notranslate\"><span class=\"pre\">'items'</span></code> という名前のキーを持っていたなら、 <code class=\"docutils literal notranslate\"><span class=\"pre\">data.items</span></code> は <code class=\"docutils literal notranslate\"><span class=\"pre\">data.items()</span></code> ではなく <code class=\"docutils literal notranslate\"><span class=\"pre\">data['items']</span></code> の値を出力します。テンプレート内で辞書のメソッドを使いたい場合、そのような名前のキー (<code class=\"docutils literal notranslate\"><span class=\"pre\">items</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">values</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">keys</span></code> など) を辞書に追加しないでください。ドット演算子による参照の優先順位についての詳細は <a class=\"reference internal\" href=\"/ja/5.2/ref/templates/language/#template-variables\"><span class=\"std std-ref\">テンプレート変数のドキュメント</span></a> を参照してください。</p>\n<p>for ループには、ループ内で使える多くの変数が設定されています:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>変数</p></th>\n<th class=\"head\"><p>説明</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">forloop.counter</span></code></p></td>\n<td><p>現在のループカウンタ番号 ( 1 から順にカウント )</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">forloop.counter0</span></code></p></td>\n<td><p>現在のループカウンタ番号 ( 0 から順にカウント )</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">forloop.revcounter</span></code></p></td>\n<td><p>現在のループカウンタ値 ( 1 から順に、末尾からカウント)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">forloop.revcounter0</span></code></p></td>\n<td><p>現在のループカウンタ値 ( 0 から順に、末尾からカウント)</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">forloop.first</span></code></p></td>\n<td><p>最初のループであれば True</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">forloop.last</span></code></p></td>\n<td><p>最後のループであれば True</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">forloop.parentloop</span></code></p></td>\n<td><p>入れ子のループであるとき、現在のループを囲んでいる 1 つ上のループを表します。</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"for-empty\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">for</span></code> ... <code class=\"docutils literal notranslate\"><span class=\"pre\">empty</span></code><a class=\"heading-anchor\" href=\"#for-empty\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">for</span></code> タグのオプションとして <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">empty</span> <span class=\"pre\">%}</span></code> 節を使うこともできます。これはループさせようとした配列が空、または存在しなかった場合に表示する文字列を指定します:</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=\"p\">&lt;</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">athlete</span> <span class=\"k\">in</span> <span class=\"nv\">athlete_list</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">athlete.name</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">empty</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>Sorry, no athletes in this list.<span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>上記の例は以下のテンプレートと同等です。しかし <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">empty</span> <span class=\"pre\">%}</span></code> を使ったほうが簡潔で、かつ高速になる場合もあります。：</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=\"p\">&lt;</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n  <span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">athlete_list</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">athlete</span> <span class=\"k\">in</span> <span class=\"nv\">athlete_list</span> <span class=\"cp\">%}</span>\n      <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">athlete.name</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n  <span class=\"cp\">{%</span> <span class=\"k\">else</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>Sorry, no athletes in this list.<span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n  <span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"if\">\n<span id=\"std-templatetag-if\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">if</span></code><a class=\"heading-anchor\" href=\"#if\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">if</span> <span class=\"pre\">%}</span></code> タグは変数を評価し、その変数が &quot;true&quot; であるとき (すなわち変数が存在し、空ではなく、その値が False でないとき ) にブロックの内容を出力します:</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\">if</span> <span class=\"nv\">athlete_list</span> <span class=\"cp\">%}</span>\n    Number of athletes: <span class=\"cp\">{{</span> <span class=\"nv\">athlete_list</span><span class=\"o\">|</span><span class=\"nf\">length</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">elif</span> <span class=\"nv\">athlete_in_locker_room_list</span> <span class=\"cp\">%}</span>\n    Athletes should be out of the locker room soon!\n<span class=\"cp\">{%</span> <span class=\"k\">else</span> <span class=\"cp\">%}</span>\n    No athletes.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>上の例では、 <code class=\"docutils literal notranslate\"><span class=\"pre\">athlete_list</span></code> が空でなければ、アスリートの人数を <code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">athlete_list|length</span> <span class=\"pre\">}}</span></code> 変数で表示します。</p>\n<p>例にもあるように <code class=\"docutils literal notranslate\"><span class=\"pre\">if</span></code> タグはオプションで 1 個以上の <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">elif</span> <span class=\"pre\">%}</span></code> 節、および 1 個の <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">else</span> <span class=\"pre\">%}</span></code> 節をつけることができます。 <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">else</span> <span class=\"pre\">%}</span></code> はそれまでの評価結果がすべて True でなかった場合に表示されるコンテンツを定義します。</p>\n<section id=\"boolean-operators\">\n<h4>論理演算子<a class=\"heading-anchor\" href=\"#boolean-operators\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p><a class=\"reference internal\" href=\"#std-templatetag-if\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">if</span></code></a> タグは <code class=\"docutils literal notranslate\"><span class=\"pre\">and</span></code> <code class=\"docutils literal notranslate\"><span class=\"pre\">or</span></code>  <code class=\"docutils literal notranslate\"><span class=\"pre\">not</span></code> を使って複数の変数を組み合わせてテストしたり、条件を逆にしたりすることができます:</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\">if</span> <span class=\"nv\">athlete_list</span> <span class=\"k\">and</span> <span class=\"nv\">coach_list</span> <span class=\"cp\">%}</span>\n    Both athletes and coaches are available.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n\n<span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"k\">not</span> <span class=\"nv\">athlete_list</span> <span class=\"cp\">%}</span>\n    There are no athletes.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n\n<span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">athlete_list</span> <span class=\"k\">or</span> <span class=\"nv\">coach_list</span> <span class=\"cp\">%}</span>\n    There are some athletes or some coaches.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n\n<span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"k\">not</span> <span class=\"nv\">athlete_list</span> <span class=\"k\">or</span> <span class=\"nv\">coach_list</span> <span class=\"cp\">%}</span>\n    There are no athletes or there are some coaches.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n\n<span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">athlete_list</span> <span class=\"k\">and</span> <span class=\"k\">not</span> <span class=\"nv\">coach_list</span> <span class=\"cp\">%}</span>\n    There are some athletes and absolutely no coaches.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">and</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">or</span></code> は同じタグの中で同時に使用できます。このとき優先順位は <code class=\"docutils literal notranslate\"><span class=\"pre\">and</span></code> が優先します:</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\">if</span> <span class=\"nv\">athlete_list</span> <span class=\"k\">and</span> <span class=\"nv\">coach_list</span> <span class=\"k\">or</span> <span class=\"nv\">cheerleader_list</span> <span class=\"cp\">%}</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=\"k\">if</span> <span class=\"p\">(</span><span class=\"n\">athlete_list</span> <span class=\"ow\">and</span> <span class=\"n\">coach_list</span><span class=\"p\">)</span> <span class=\"ow\">or</span> <span class=\"n\">cheerleader_list</span><span class=\"p\">:</span>\n    <span class=\"o\">...</span>\n</code></pre></div>\n<p>実際には <a class=\"reference internal\" href=\"#std-templatetag-if\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">if</span></code></a> タグの中で丸括弧を使うことはできません。優先順位を示す必要がある場合には、<a class=\"reference internal\" href=\"#std-templatetag-if\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">if</span></code></a> タグを入れ子にして表してください。</p>\n<p><a class=\"reference internal\" href=\"#std-templatetag-if\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">if</span></code></a> タグは演算子 <code class=\"docutils literal notranslate\"><span class=\"pre\">==</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">!=</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">&gt;</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;=</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">&gt;=</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">in</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">not</span> <span class=\"pre\">in</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">is</span></code>, and <code class=\"docutils literal notranslate\"><span class=\"pre\">is</span> <span class=\"pre\">not</span></code> が使え、以下のように機能します:</p>\n<section id=\"operator\">\n<h5><code class=\"docutils literal notranslate\"><span class=\"pre\">==</span></code> 演算子<a class=\"heading-anchor\" href=\"#operator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\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\">if</span> <span class=\"nv\">somevar</span> <span class=\"o\">==</span> <span class=\"s2\">&quot;x&quot;</span> <span class=\"cp\">%}</span>\n  This appears if variable somevar equals the string &quot;x&quot;\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"id1\">\n<h5><code class=\"docutils literal notranslate\"><span class=\"pre\">!=</span></code> 演算子<a class=\"heading-anchor\" href=\"#id1\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\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\">if</span> <span class=\"nv\">somevar</span> <span class=\"o\">!=</span> <span class=\"s2\">&quot;x&quot;</span> <span class=\"cp\">%}</span>\n  This appears if variable somevar does not equal the string &quot;x&quot;,\n  or if somevar is not found in the context\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"id2\">\n<h5><code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;</span></code> 演算子<a class=\"heading-anchor\" href=\"#id2\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\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\">if</span> <span class=\"nv\">somevar</span> <span class=\"o\">&lt;</span> <span class=\"m\">100</span> <span class=\"cp\">%}</span>\n  This appears if variable somevar is less than 100.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"id3\">\n<h5><code class=\"docutils literal notranslate\"><span class=\"pre\">&gt;</span></code> 演算子<a class=\"heading-anchor\" href=\"#id3\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\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\">if</span> <span class=\"nv\">somevar</span> <span class=\"o\">&gt;</span> <span class=\"m\">0</span> <span class=\"cp\">%}</span>\n  This appears if variable somevar is greater than 0.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"id4\">\n<h5><code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;=</span></code> 演算子<a class=\"heading-anchor\" href=\"#id4\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\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\">if</span> <span class=\"nv\">somevar</span> <span class=\"o\">&lt;=</span> <span class=\"m\">100</span> <span class=\"cp\">%}</span>\n  This appears if variable somevar is less than 100 or equal to 100.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"id5\">\n<h5><code class=\"docutils literal notranslate\"><span class=\"pre\">&gt;=</span></code> 演算子<a class=\"heading-anchor\" href=\"#id5\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\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\">if</span> <span class=\"nv\">somevar</span> <span class=\"o\">&gt;=</span> <span class=\"m\">1</span> <span class=\"cp\">%}</span>\n  This appears if variable somevar is greater than 1 or equal to 1.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"in-operator\">\n<h5><code class=\"docutils literal notranslate\"><span class=\"pre\">in</span></code> 演算子<a class=\"heading-anchor\" href=\"#in-operator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\n<p>左辺の値が右辺の値に含まれる場合。この演算子は多くのPythonコンテナデータ型によってサポートされており、指定された値がコンテナ内に存在するかどうかをチェックできます。以下に <code class=\"docutils literal notranslate\"><span class=\"pre\">x</span> <span class=\"pre\">in</span> <span class=\"pre\">y</span></code> がどのように解釈されるかの例をいくつか示します：</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\">if</span> <span class=\"s2\">&quot;bc&quot;</span> <span class=\"k\">in</span> <span class=\"s2\">&quot;abcdef&quot;</span> <span class=\"cp\">%}</span>\n  This appears since &quot;bc&quot; is a substring of &quot;abcdef&quot;\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n\n<span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"s2\">&quot;hello&quot;</span> <span class=\"k\">in</span> <span class=\"nv\">greetings</span> <span class=\"cp\">%}</span>\n  If greetings is a list or set, one element of which is the string\n  &quot;hello&quot;, this will appear.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n\n<span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">user</span> <span class=\"k\">in</span> <span class=\"nv\">users</span> <span class=\"cp\">%}</span>\n  If users is a QuerySet, this will appear if user is an\n  instance that belongs to the QuerySet.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"not-in-operator\">\n<h5><code class=\"docutils literal notranslate\"><span class=\"pre\">not</span> <span class=\"pre\">in</span></code> 演算子<a class=\"heading-anchor\" href=\"#not-in-operator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\n<p>左辺の値が右辺の値に含まれない場合。これは <code class=\"docutils literal notranslate\"><span class=\"pre\">in</span></code> 演算子の逆です。</p>\n</section>\n<section id=\"is-operator\">\n<h5><code class=\"docutils literal notranslate\"><span class=\"pre\">is</span></code> 演算子<a class=\"heading-anchor\" href=\"#is-operator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\n<p>オブジェクトの同一性。2つの値が同じオブジェクトかどうかをテストします。例：</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\">if</span> <span class=\"nv\">somevar</span> <span class=\"k\">is</span> <span class=\"nf\">True</span> <span class=\"cp\">%}</span>\n  This appears if and only if somevar is True.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n\n<span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">somevar</span> <span class=\"k\">is</span> <span class=\"nf\">None</span> <span class=\"cp\">%}</span>\n  This appears if somevar is None, or if somevar is not found in the context.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"is-not-operator\">\n<h5><code class=\"docutils literal notranslate\"><span class=\"pre\">is</span> <span class=\"pre\">not</span></code> 演算子<a class=\"heading-anchor\" href=\"#is-not-operator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\n<p>オブジェクトの非同一性。2つの値が同じオブジェクトでないかどうかをテストします。これは <code class=\"docutils literal notranslate\"><span class=\"pre\">is</span></code> 演算子の否定です。例：</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\">if</span> <span class=\"nv\">somevar</span> <span class=\"k\">is</span> <span class=\"k\">not</span> <span class=\"nf\">True</span> <span class=\"cp\">%}</span>\n  This appears if somevar is not True, or if somevar is not found in the\n  context.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n\n<span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">somevar</span> <span class=\"k\">is</span> <span class=\"k\">not</span> <span class=\"nf\">None</span> <span class=\"cp\">%}</span>\n  This appears if and only if somevar is not None.\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"filters\">\n<h4>フィルタ<a class=\"heading-anchor\" href=\"#filters\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p><a class=\"reference internal\" href=\"#std-templatetag-if\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">if</span></code></a> 内でフィルタを使うこともできます。例を示します:</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\">if</span> <span class=\"nv\">messages</span><span class=\"o\">|</span><span class=\"nf\">length</span> <span class=\"o\">&gt;=</span> <span class=\"m\">100</span> <span class=\"cp\">%}</span>\n   You have lots of messages today!\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"complex-expressions\">\n<h4>複雑な表現<a class=\"heading-anchor\" href=\"#complex-expressions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>ここまでのすべてを組み合わせて複雑な式を作ることができます。このような式では、式を評価するときに演算子がどのようにグループ化されるか、すなわち優先順位の規則を理解することが重要です。演算子の優先順位は次のようになっています:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">or</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">and</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">not</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">in</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">==</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">!=</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">&gt;</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;=</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">&gt;=</span></code></p></li>\n</ul>\n<p>(この順序は Python とまったく同じです)。 そこで、例えば次に挙げる複雑な <a class=\"reference internal\" href=\"#std-templatetag-if\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">if</span></code></a> タグの場合:</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\">if</span> <span class=\"nv\">a</span> <span class=\"o\">==</span> <span class=\"nv\">b</span> <span class=\"k\">or</span> <span class=\"nv\">c</span> <span class=\"o\">==</span> <span class=\"nv\">d</span> <span class=\"k\">and</span> <span class=\"nv\">e</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>...次のように解釈されます:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code><span class=\"p\">(</span><span class=\"n\">a</span> <span class=\"o\">==</span> <span class=\"n\">b</span><span class=\"p\">)</span> <span class=\"ow\">or</span> <span class=\"p\">((</span><span class=\"n\">c</span> <span class=\"o\">==</span> <span class=\"n\">d</span><span class=\"p\">)</span> <span class=\"ow\">and</span> <span class=\"n\">e</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>もしこれと違った優先順位が必要ならば、<a class=\"reference internal\" href=\"#std-templatetag-if\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">if</span></code></a> タグを入れ子にして使う必要があります。優先順位の規則がはっきりしない場合には、こうした方がより明確な表現になることもあるでしょう。</p>\n<p>比較演算子は Python や数学における記法のように、つないで書くことはできません。例えば次のような使い方はできません:</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\">if</span> <span class=\"nv\">a</span> <span class=\"o\">&gt;</span> <span class=\"nv\">b</span> <span class=\"o\">&gt;</span> <span class=\"nv\">c</span> <span class=\"cp\">%}</span>  (WRONG)\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\">if</span> <span class=\"nv\">a</span> <span class=\"o\">&gt;</span> <span class=\"nv\">b</span> <span class=\"k\">and</span> <span class=\"nv\">b</span> <span class=\"o\">&gt;</span> <span class=\"nv\">c</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"ifchanged\">\n<span id=\"std-templatetag-ifchanged\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">ifchanged</span></code><a class=\"heading-anchor\" href=\"#ifchanged\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>値が前回のループ実行時から変わっているかどうかを調べます。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">ifchanged</span> <span class=\"pre\">%}</span></code> ブロックタグはループの内部で使います。このタグには 2 通りの使い方があります。</p>\n<ol class=\"arabic\">\n<li><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=\"p\">&lt;</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>Archive for <span class=\"cp\">{{</span> <span class=\"nv\">year</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>\n\n<span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">date</span> <span class=\"k\">in</span> <span class=\"nv\">days</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">ifchanged</span> <span class=\"cp\">%}</span><span class=\"p\">&lt;</span><span class=\"nt\">h3</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">date</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;F&quot;</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">h3</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">endifchanged</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">a</span> <span class=\"na\">href</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{{</span> <span class=\"nv\">date</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;M/d&quot;</span><span class=\"o\">|</span><span class=\"nf\">lower</span> <span class=\"cp\">}}</span><span class=\"s\">/&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">date</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;j&quot;</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">a</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</li>\n<li><p>タグに 1 個以上の変数が与えられている場合、それぞれの変数について内容が変化したかどうかを調べます。例えば、以下の例では日付が変化したときには日付を表示し、日付と時刻が同時に変化したときだけ時刻も表示します:</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\">date</span> <span class=\"k\">in</span> <span class=\"nv\">days</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">ifchanged</span> <span class=\"nv\">date.date</span> <span class=\"cp\">%}</span> <span class=\"cp\">{{</span> <span class=\"nv\">date.date</span> <span class=\"cp\">}}</span> <span class=\"cp\">{%</span> <span class=\"k\">endifchanged</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">ifchanged</span> <span class=\"nv\">date.hour</span> <span class=\"nv\">date.date</span> <span class=\"cp\">%}</span>\n        <span class=\"cp\">{{</span> <span class=\"nv\">date.hour</span> <span class=\"cp\">}}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endifchanged</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</li>\n</ol>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">ifchanged</span></code> タグは、オプションで <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">else</span> <span class=\"pre\">%}</span></code> 節を使うこともできます。これは値に変化がないときに表示されます:</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\">match</span> <span class=\"k\">in</span> <span class=\"nv\">matches</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">div</span> <span class=\"na\">style</span><span class=\"o\">=</span><span class=\"s\">&quot;background-color:</span>\n<span class=\"s\">        </span><span class=\"cp\">{%</span> <span class=\"k\">ifchanged</span> <span class=\"nv\">match.ballot_id</span> <span class=\"cp\">%}</span>\n<span class=\"s\">            </span><span class=\"cp\">{%</span> <span class=\"k\">cycle</span> <span class=\"s2\">&quot;red&quot;</span> <span class=\"s2\">&quot;blue&quot;</span> <span class=\"cp\">%}</span>\n<span class=\"s\">        </span><span class=\"cp\">{%</span> <span class=\"k\">else</span> <span class=\"cp\">%}</span>\n<span class=\"s\">            gray</span>\n<span class=\"s\">        </span><span class=\"cp\">{%</span> <span class=\"k\">endifchanged</span> <span class=\"cp\">%}</span>\n<span class=\"s\">    &quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">match</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"include\">\n<span id=\"std-templatetag-include\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">include</span></code><a class=\"heading-anchor\" href=\"#include\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>テンプレートをロードし、現在のコンテキストを使って出力します。これはテンプレート内に他のテンプレートを取り込む（ “include” ）方法の一つです。</p>\n<p>テンプレート名はハードコードされた (引用符で囲った) 文字列でもよく、引用符は一重引用符 （'...'）でも二重引用符（&quot;...&quot;）でもかまいません。</p>\n<p>次の例では、 <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;foo/bar.html&quot;</span></code> という名前のテンプレートの内容を include します:</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\">include</span> <span class=\"s2\">&quot;foo/bar.html&quot;</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>通常、テンプレート名はテンプレートローダーのルートディレクトリからの相対パスです。 <a class=\"reference internal\" href=\"#std-templatetag-extends\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">extends</span></code></a> タグで説明されているように、文字列引数には <code class=\"docutils literal notranslate\"><span class=\"pre\">./</span></code> または <code class=\"docutils literal notranslate\"><span class=\"pre\">../</span></code> で始まる相対パスを指定することもできます。</p>\n<p>次の例では、変数 <code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code> の値をテンプレート名として、そのテンプレートの内容を include します:</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\">include</span> <span class=\"nv\">template_name</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>変数は、コンテキストを受け取る <code class=\"docutils literal notranslate\"><span class=\"pre\">render()</span></code> メソッドを持っていればオブジェクトでも構いません。これによって、コンテキスト内のコンパイル済みの <code class=\"docutils literal notranslate\"><span class=\"pre\">Template</span></code>  を参照できます。</p>\n<p>さらに、この変数はテンプレート名のイテラブルにすることもできます。その場合、 <a class=\"reference internal\" href=\"/ja/5.2/topics/templates/#django.template.loader.select_template\" title=\"django.template.loader.select_template\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">select_template()</span></code></a> に従って、ロードできる最初のものが使用されます。</p>\n<p>include されたテンプレートは、include した側のコンテキストにおいて解釈されます。以下の例は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Hello,</span> <span class=\"pre\">John!&quot;</span></code> を出力します:</p>\n<ul>\n<li><p>コンテキスト: 変数 <code class=\"docutils literal notranslate\"><span class=\"pre\">person</span></code> に <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;John&quot;</span></code> を、変数 <code class=\"docutils literal notranslate\"><span class=\"pre\">greeting</span></code> に <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Hello&quot;</span></code> をセット。</p></li>\n<li><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\">include</span> <span class=\"s2\">&quot;name_snippet.html&quot;</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">name_snippet.html</span></code> テンプレート:</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=\"nv\">greeting</span> <span class=\"cp\">}}</span>, <span class=\"cp\">{{</span> <span class=\"nv\">person</span><span class=\"o\">|</span><span class=\"nf\">default</span><span class=\"s2\">:&quot;friend&quot;</span> <span class=\"cp\">}}</span>!\n</code></pre></div>\n</li>\n</ul>\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\">include</span> <span class=\"s2\">&quot;name_snippet.html&quot;</span> <span class=\"k\">with</span> <span class=\"nv\">person</span><span class=\"o\">=</span><span class=\"s2\">&quot;Jane&quot;</span> <span class=\"nv\">greeting</span><span class=\"o\">=</span><span class=\"s2\">&quot;Hello&quot;</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>あらかじめ準備された変数だけを使って (あるいは変数をまったく使わずに) 出力させたい場合は <code class=\"docutils literal notranslate\"><span class=\"pre\">only</span></code> オプションを使います。テンプレートを取り込むために、他の変数は利用できません:</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\">include</span> <span class=\"s2\">&quot;name_snippet.html&quot;</span> <span class=\"k\">with</span> <span class=\"nv\">greeting</span><span class=\"o\">=</span><span class=\"s2\">&quot;Hi&quot;</span> <span class=\"nv\">only</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p><a class=\"reference internal\" href=\"#std-templatetag-include\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">include</span></code></a> タグの実行は『サブテンプレートを出力し、その結果である HTML を取り込む』と考えるべきで、『サブテンプレートを解析し、親テンプレートの一部分として、そこに組み込まれている』かのように考えるべきではありません。これは、取り込んだテンプレートの間では状態を共有できず、まったく独立した過程で出力されることを意味します。</p>\n<p>ブロックは取り込まれる <em>前に</em> 評価されます。ブロックを含んでいる他のテンプレートを取り込む場合、そのブロックは <em>すでに評価され、出力された結果</em> としてのブロックであり、たとえばテンプレートを継承したときのような、オーバーライド可能なブロックではありません。</p>\n</aside>\n</section>\n<section id=\"load\">\n<span id=\"std-templatetag-load\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">load</span></code><a class=\"heading-anchor\" href=\"#load\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>カスタムのテンプレートタグセットを読み込みます。</p>\n<p>例えば次のテンプレートは <code class=\"docutils literal notranslate\"><span class=\"pre\">somelibrary</span></code> 、そして <code class=\"docutils literal notranslate\"><span class=\"pre\">package</span></code> パッケージの <code class=\"docutils literal notranslate\"><span class=\"pre\">otherlibrary</span></code> に登録されたすべてのタグとフィルタを読み込みます。:</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\">load</span> <span class=\"nv\">somelibrary</span> <span class=\"nv\">package.otherlibrary</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>引数に <code class=\"docutils literal notranslate\"><span class=\"pre\">from</span></code> を使えば、ライブラリからフィルタやタグを個別に選んで読み込むことができます。以下の例では、 <code class=\"docutils literal notranslate\"><span class=\"pre\">foo</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">bar</span></code> という名前のテンプレートタグまたはフィルタを <code class=\"docutils literal notranslate\"><span class=\"pre\">somelibrary</span></code> から読み込みます:</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\">load</span> <span class=\"nv\">foo</span> <span class=\"nv\">bar</span> <span class=\"nv\">from</span> <span class=\"nv\">somelibrary</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>詳しくは <a class=\"reference internal\" href=\"/ja/5.2/howto/custom-template-tags/\"><span class=\"doc\">カスタムタグとフィルタのライブラリ</span></a> を参照してください。</p>\n</section>\n<section id=\"lorem\">\n<span id=\"std-templatetag-lorem\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">lorem</span></code><a class=\"heading-anchor\" href=\"#lorem\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>ランダムな&quot;lorem ipsum&quot; のラテン語テキストを表示させます。テンプレート内でサンプルデータを用意するのに便利です。</p>\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\">lorem</span> <span class=\"o\">[</span><span class=\"nv\">count</span><span class=\"o\">]</span> <span class=\"o\">[</span><span class=\"nv\">method</span><span class=\"o\">]</span> <span class=\"o\">[</span><span class=\"nv\">random</span><span class=\"o\">]</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">lorem</span> <span class=\"pre\">%}</span></code> タグは 0 から 3 個の引数をとります:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>引数</p></th>\n<th class=\"head\"><p>説明</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">count</span></code></p></td>\n<td><p>生成する単語または段落の数を指定する、数値または変数 (デフォルトは 1 ) 。</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">method</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">w</span></code> のとき単語を、<code class=\"docutils literal notranslate\"><span class=\"pre\">p</span></code> のとき HTML の段落ブロック、<code class=\"docutils literal notranslate\"><span class=\"pre\">b</span></code> のときプレーンテキストの段落ブロックを生成します ( デフォルトは <code class=\"docutils literal notranslate\"><span class=\"pre\">b</span></code> )。</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">random</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">random</span></code> が与えられたとき、一般的な文章 ( &quot;Lorem ipsum dolor sit amet...&quot; ) を使わずにテキストを生成します。</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>例:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">lorem</span> <span class=\"pre\">%}</span></code> は、一般的な &quot;lorem ipsum&quot; を出力します。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">lorem</span> <span class=\"pre\">3</span> <span class=\"pre\">p</span> <span class=\"pre\">%}</span></code> は一般的な &quot;lorem ipsum&quot; と 2 個のランダムな文章を、それぞれ HTML の <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;p&gt;</span></code> タグで括って出力します。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">lorem</span> <span class=\"pre\">2</span> <span class=\"pre\">w</span> <span class=\"pre\">random</span> <span class=\"pre\">%}</span></code> は 2 個のランダムなラテン単語を出力します。</p></li>\n</ul>\n</section>\n<section id=\"now\">\n<span id=\"std-templatetag-now\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">now</span></code><a class=\"heading-anchor\" href=\"#now\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>指定したフォーマット文字列にしたがって現在の日付や時刻を表示します。フォーマット文字列で使われる文字については、 <a class=\"reference internal\" href=\"#std-templatefilter-date\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">date</span></code></a> フィルタの項で説明しています。</p>\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>It is <span class=\"cp\">{%</span> <span class=\"k\">now</span> <span class=\"s2\">&quot;jS F Y H:i&quot;</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>文字列の中でフォーマット文字を普通の文字として扱いたい場合は、バックスラッシュ文字（ <code class=\"docutils literal notranslate\"><span class=\"pre\">\\</span></code> ）でエスケープします。次の例では、 &quot;o&quot; と &quot;f&quot; をエスケープしています。そうしなければ、これらはそれぞれ年と時刻を表示するためのフォーマット文字とみなされるからです:</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>It is the <span class=\"cp\">{%</span> <span class=\"k\">now</span> <span class=\"s2\">&quot;jS \\o\\f F&quot;</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>この表示結果は &quot;It is the 4th of September&quot; となります。</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>フォーマットはプリセット（ <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-DATE_FORMAT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DATE_FORMAT</span></code></a>、 <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-DATETIME_FORMAT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DATETIME_FORMAT</span></code></a>、 <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-SHORT_DATE_FORMAT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SHORT_DATE_FORMAT</span></code></a>、 <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-SHORT_DATETIME_FORMAT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SHORT_DATETIME_FORMAT</span></code></a> ）の中から 1 つを選ぶこともできます。 <a class=\"reference internal\" href=\"/ja/5.2/topics/i18n/formatting/\"><span class=\"doc\">表示形式のローカライズ</span></a> が有効なときは、プリセットフォーマットの内容は現在設定されているロケールによって変わります。たとえば、下記のようにします:</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>It is <span class=\"cp\">{%</span> <span class=\"k\">now</span> <span class=\"s2\">&quot;SHORT_DATETIME_FORMAT&quot;</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</aside>\n<p>出力を (文字列として) 変数に入れる場合には <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">now</span> <span class=\"pre\">&quot;Y&quot;</span> <span class=\"pre\">as</span> <span class=\"pre\">current_year</span> <span class=\"pre\">%}</span></code> の書式が使えます。これは <a class=\"reference internal\" href=\"/ja/5.2/topics/i18n/translation/#std-templatetag-blocktranslate\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">blocktranslate</span></code></a> のようなテンプレートタグで <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">now</span> <span class=\"pre\">%}</span></code> を使いたいときに役立ちます:</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\">now</span> <span class=\"s2\">&quot;Y&quot;</span> <span class=\"k\">as</span> <span class=\"nv\">current_year</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">blocktranslate</span> <span class=\"cp\">%}</span>Copyright <span class=\"cp\">{{</span> <span class=\"nv\">current_year</span> <span class=\"cp\">}}{%</span> <span class=\"k\">endblocktranslate</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"querystring\">\n<span id=\"std-templatetag-querystring\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">querystring</span></code><a class=\"heading-anchor\" href=\"#querystring\"><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.1\">\n<p class=\"version-note-title\">New in Django 5.1</p></aside>\n<p>提供されたパラメータに基づいて、URLエンコードされた形式のクエリ文字列を出力します。</p>\n<p>このタグには <a class=\"reference internal\" href=\"/ja/5.2/ref/request-response/#django.http.QueryDict\" title=\"django.http.QueryDict\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">QueryDict</span></code></a> インスタンスが必要で、提供されない場合はデフォルトで <a class=\"reference internal\" href=\"/ja/5.2/ref/request-response/#django.http.HttpRequest.GET\" title=\"django.http.HttpRequest.GET\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">request.GET</span></code></a> が使用されます。</p>\n<p><a class=\"reference internal\" href=\"/ja/5.2/ref/request-response/#django.http.QueryDict\" title=\"django.http.QueryDict\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">QueryDict</span></code></a> が空で、かつ追加のパラメータが提供されない場合、空文字列となります。それ以外の場合、文字列の頭に <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;?&quot;</span></code> を含みます。</p>\n<aside class=\"admonition-using-request-get-as-default admonition\">\n<p class=\"admonition-title\"><code class=\"docutils literal notranslate\"><span class=\"pre\">request.GET</span></code> をデフォルトとして使う</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">request.GET</span></code> をデフォルトの <code class=\"docutils literal notranslate\"><span class=\"pre\">QueryDict</span></code> インスタンスとして使用するには、<code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.context_processors.request</span></code> コンテキストプロセッサを有効にする必要があります。これが有効でない場合、テンプレートコンテキストに <code class=\"docutils literal notranslate\"><span class=\"pre\">request</span></code> オブジェクトを明示的に渡すか、またはこのタグに <code class=\"docutils literal notranslate\"><span class=\"pre\">QueryDict</span></code> インスタンスを渡す必要があります。</p>\n</aside>\n<section id=\"basic-usage\">\n<h4>基本的な使用法<a class=\"heading-anchor\" href=\"#basic-usage\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\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\">querystring</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>現在のクエリ文字列をそのまま出力します。たとえば、クエリ文字列が <code class=\"docutils literal notranslate\"><span class=\"pre\">?color=green</span></code> の場合、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">?color=green</span></code> になります。</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\">querystring</span> <span class=\"nv\">size</span><span class=\"o\">=</span><span class=\"s2\">&quot;M&quot;</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>現在のクエリ文字列に <code class=\"docutils literal notranslate\"><span class=\"pre\">size</span></code> パラメータを追加して出力します。前の例を続けると、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">?color=green&amp;size=M</span></code> になります。</p>\n</section>\n<section id=\"custom-querydict\">\n<h4>独自の QueryDict<a class=\"heading-anchor\" href=\"#custom-querydict\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\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\">querystring</span> <span class=\"nv\">my_query_dict</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>カスタムの <code class=\"docutils literal notranslate\"><span class=\"pre\">QueryDict</span></code> を渡して、<code class=\"docutils literal notranslate\"><span class=\"pre\">request.GET</span></code> の代わりに使用できます。例えば、<code class=\"docutils literal notranslate\"><span class=\"pre\">my_query_dict</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;QueryDict:</span> <span class=\"pre\">{'color':</span> <span class=\"pre\">['blue']}&gt;</span></code> の場合、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">?color=blue</span></code> になります。</p>\n</section>\n<section id=\"setting-items\">\n<h4>アイテムをセットする<a class=\"heading-anchor\" href=\"#setting-items\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\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\">querystring</span> <span class=\"nv\">color</span><span class=\"o\">=</span><span class=\"s2\">&quot;red&quot;</span> <span class=\"nv\">size</span><span class=\"o\">=</span><span class=\"s2\">&quot;S&quot;</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>クエリ文字列にパラメータを追加または変更します。各キーワード引数はクエリ文字列に追加され、そのキーの既存の値を置き換えます。例えば、現在のクエリ文字列が <code class=\"docutils literal notranslate\"><span class=\"pre\">?color=green</span></code> の場合、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">?color=red&amp;size=S</span></code> になります。</p>\n</section>\n<section id=\"removing-items\">\n<h4>アイテムを削除する<a class=\"heading-anchor\" href=\"#removing-items\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\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\">querystring</span> <span class=\"nv\">color</span><span class=\"o\">=</span><span class=\"kp\">None</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>値として <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> を渡すと、クエリ文字列からそのパラメータが削除されます。例えば、現在のクエリ文字列が <code class=\"docutils literal notranslate\"><span class=\"pre\">?color=green&amp;size=M</span></code> の場合、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">?size=M</span></code> になります。</p>\n</section>\n<section id=\"handling-lists\">\n<h4>リストを扱う<a class=\"heading-anchor\" href=\"#handling-lists\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\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\">querystring</span> <span class=\"nv\">color</span><span class=\"o\">=</span><span class=\"nv\">my_list</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>もし <code class=\"docutils literal notranslate\"><span class=\"pre\">my_list</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">[&quot;red&quot;,</span> <span class=\"pre\">&quot;blue&quot;]</span></code> の場合、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">?color=red&amp;color=blue</span></code> となり、リストの構造がクエリ文字列に保持されます。</p>\n</section>\n<section id=\"dynamic-usage\">\n<h4>動的な使用方法<a class=\"heading-anchor\" href=\"#dynamic-usage\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>このタグを使う一般的な例は、結果のページを表示する際に現在のクエリ文字列を保持しつつ、次のページや前のページへのリンクを追加することです。例えば、ページネーターが現在ページ3にあり、現在のクエリ文字列が <code class=\"docutils literal notranslate\"><span class=\"pre\">?color=blue&amp;size=M&amp;page=3</span></code> の場合、次のコードは <code class=\"docutils literal notranslate\"><span class=\"pre\">?color=blue&amp;size=M&amp;page=4</span></code> を出力します。</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\">querystring</span> <span class=\"nv\">page</span><span class=\"o\">=</span><span class=\"nv\">page.next_page_number</span> <span class=\"cp\">%}</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\">querystring</span> <span class=\"nv\">page</span><span class=\"o\">=</span><span class=\"nv\">page.next_page_number</span> <span class=\"k\">as</span> <span class=\"nv\">next_page</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"regroup\">\n<span id=\"std-templatetag-regroup\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">regroup</span></code><a class=\"heading-anchor\" href=\"#regroup\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>オブジェクトのリストから、同じ属性値を持つオブジェクトのグループを作ります。</p>\n<p>この複雑なタグは例を通して説明するのがいいでしょう: <code class=\"docutils literal notranslate\"><span class=\"pre\">cities</span></code> は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;name&quot;</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;population&quot;</span></code>, and <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;country&quot;</span></code> をキーとして含むディクショナリによって表された都市のリストとします:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code><span class=\"n\">cities</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Mumbai&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;population&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;19,000,000&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;country&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;India&quot;</span><span class=\"p\">},</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Calcutta&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;population&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;15,000,000&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;country&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;India&quot;</span><span class=\"p\">},</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;New York&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;population&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;20,000,000&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;country&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;USA&quot;</span><span class=\"p\">},</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Chicago&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;population&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;7,000,000&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;country&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;USA&quot;</span><span class=\"p\">},</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Tokyo&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;population&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;33,000,000&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;country&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Japan&quot;</span><span class=\"p\">},</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>...そして、あなたは次のように、国別に並べた一覧を表示させたいものとしましょう:</p>\n<ul class=\"simple\">\n<li><p>India</p>\n<ul>\n<li><p>Mumbai: 19,000,000</p></li>\n<li><p>Calcutta: 15,000,000</p></li>\n</ul>\n</li>\n<li><p>USA</p>\n<ul>\n<li><p>New York: 20,000,000</p></li>\n<li><p>Chicago: 7,000,000</p></li>\n</ul>\n</li>\n<li><p>Japan</p>\n<ul>\n<li><p>Tokyo: 33,000,000</p></li>\n</ul>\n</li>\n</ul>\n<p>ここで <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">regroup</span> <span class=\"pre\">%}</span></code> タグを使って都市のリストを国別にグループ化できます。以下は、そのためのテンプレートコード例です:</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\">regroup</span> <span class=\"nv\">cities</span> <span class=\"nv\">by</span> <span class=\"nv\">country</span> <span class=\"k\">as</span> <span class=\"nv\">country_list</span> <span class=\"cp\">%}</span>\n\n<span class=\"p\">&lt;</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">country</span> <span class=\"k\">in</span> <span class=\"nv\">country_list</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">country.grouper</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n        <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">city</span> <span class=\"k\">in</span> <span class=\"nv\">country.list</span> <span class=\"cp\">%}</span>\n          <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">city.name</span> <span class=\"cp\">}}</span>: <span class=\"cp\">{{</span> <span class=\"nv\">city.population</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n        <span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>この例を見てみましょう。<code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">regroup</span> <span class=\"pre\">%}</span></code> タグは 3 つの引数を取ります。グループ分けを行うリスト、グループ分けに使う属性の名前、そして結果とするリストの名前の 3 つです。ここでは <code class=\"docutils literal notranslate\"><span class=\"pre\">cities</span></code> リストを <code class=\"docutils literal notranslate\"><span class=\"pre\">country</span></code> 属性でグループ化し、その結果を <code class=\"docutils literal notranslate\"><span class=\"pre\">country_list</span></code> と呼んでいます。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">regroup</span> <span class=\"pre\">%}</span></code> は <strong>グループオブジェクト</strong> のリスト(この場合は <code class=\"docutils literal notranslate\"><span class=\"pre\">country_list</span></code>) を生成します。グループオブジェクトは2つのフィールドを持つ <a class=\"reference external\" href=\"https://docs.python.org/3/library/collections.html#collections.namedtuple\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">namedtuple()</span></code></a> のインスタンスです：</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">grouper</span></code> -- グループ分けに使われた要素 ( ここでは &quot;India&quot; &quot;Japan&quot; といった文字列 )</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">list</span></code> -- このグループ内のすべての要素からなるリスト ( たとえば country='India' であるすべての都市のリスト)</p></li>\n</ul>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">regroup</span> <span class=\"pre\">%}</span></code> は <a class=\"reference external\" href=\"https://docs.python.org/3/library/collections.html#collections.namedtuple\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">namedtuple()</span></code></a> オブジェクトを生成するので、上の例を次のように書くこともできます：</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\">regroup</span> <span class=\"nv\">cities</span> <span class=\"nv\">by</span> <span class=\"nv\">country</span> <span class=\"k\">as</span> <span class=\"nv\">country_list</span> <span class=\"cp\">%}</span>\n\n<span class=\"p\">&lt;</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">country</span><span class=\"o\">,</span> <span class=\"nv\">local_cities</span> <span class=\"k\">in</span> <span class=\"nv\">country_list</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">country</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n        <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">city</span> <span class=\"k\">in</span> <span class=\"nv\">local_cities</span> <span class=\"cp\">%}</span>\n          <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">city.name</span> <span class=\"cp\">}}</span>: <span class=\"cp\">{{</span> <span class=\"nv\">city.population</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n        <span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>{% regroup %} は入力をソートしないことに注意してください！ 上の例では、リスト <code class=\"docutils literal notranslate\"><span class=\"pre\">cities</span></code> は、あらかじめ <code class=\"docutils literal notranslate\"><span class=\"pre\">country</span></code> の順でソート済みだという前提です。<code class=\"docutils literal notranslate\"><span class=\"pre\">cities</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">country</span></code> の順に並べられて <em>いなかった</em> 場合、regroup はそのまま何も考えずに 1 つの国に対してグループを 1 つ以上作ってしまうかもしれません。たとえばリスト <code class=\"docutils literal notranslate\"><span class=\"pre\">cities</span></code> が、次のように (リスト内で国ごとにまとまっていない状態に) なっていたとしましょう。</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code><span class=\"n\">cities</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Mumbai&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;population&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;19,000,000&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;country&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;India&quot;</span><span class=\"p\">},</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;New York&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;population&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;20,000,000&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;country&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;USA&quot;</span><span class=\"p\">},</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Calcutta&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;population&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;15,000,000&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;country&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;India&quot;</span><span class=\"p\">},</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Chicago&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;population&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;7,000,000&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;country&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;USA&quot;</span><span class=\"p\">},</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Tokyo&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;population&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;33,000,000&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;country&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Japan&quot;</span><span class=\"p\">},</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>この <code class=\"docutils literal notranslate\"><span class=\"pre\">cities</span></code> を入力に使うと、先ほどの <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">regroup</span> <span class=\"pre\">%}</span></code> テンプレートコードは次のような結果を出力するでしょう:</p>\n<ul class=\"simple\">\n<li><p>India</p>\n<ul>\n<li><p>Mumbai: 19,000,000</p></li>\n</ul>\n</li>\n<li><p>USA</p>\n<ul>\n<li><p>New York: 20,000,000</p></li>\n</ul>\n</li>\n<li><p>India</p>\n<ul>\n<li><p>Calcutta: 15,000,000</p></li>\n</ul>\n</li>\n<li><p>USA</p>\n<ul>\n<li><p>Chicago: 7,000,000</p></li>\n</ul>\n</li>\n<li><p>Japan</p>\n<ul>\n<li><p>Tokyo: 33,000,000</p></li>\n</ul>\n</li>\n</ul>\n<p>このような落し穴を解決するには、ビューコード内であらかじめデータを表示したい順番に並べておくのが最も簡単でしょう。</p>\n<p>データが辞書のリストである場合には、もう一つの解決策として、テンプレートの中で <a class=\"reference internal\" href=\"#std-templatefilter-dictsort\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">dictsort</span></code></a> フィルタを使ってデータを並べ変えることができます:</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\">regroup</span> <span class=\"nv\">cities</span><span class=\"o\">|</span><span class=\"nf\">dictsort</span><span class=\"s2\">:&quot;country&quot;</span> <span class=\"nv\">by</span> <span class=\"nv\">country</span> <span class=\"k\">as</span> <span class=\"nv\">country_list</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<section id=\"grouping-on-other-properties\">\n<h4>その他の属性によるグループ化<a class=\"heading-anchor\" href=\"#grouping-on-other-properties\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>テンプレートの有効な参照は、いずれも regroup タグでグループ化するための属性として扱うことができます。これにはメソッド、属性、辞書のキー、リスト項目が含まれます。例えば &quot;country&quot; というフィールドが外部キーで、その参照するクラスが &quot;description&quot; 属性を持つ場合、次のように使うことができます:</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\">regroup</span> <span class=\"nv\">cities</span> <span class=\"nv\">by</span> <span class=\"nv\">country.description</span> <span class=\"k\">as</span> <span class=\"nv\">country_list</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>また、 <code class=\"docutils literal notranslate\"><span class=\"pre\">country</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">choices</span></code> をともなうフィールドである場合、それは属性として使える <a class=\"reference internal\" href=\"/ja/5.2/ref/models/instances/#django.db.models.Model.get_FOO_display\" title=\"django.db.models.Model.get_FOO_display\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_FOO_display()</span></code></a> メソッドを持っているので <code class=\"docutils literal notranslate\"><span class=\"pre\">choices</span></code> のキーではなく表示文字列でグループ化することもできます：</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\">regroup</span> <span class=\"nv\">cities</span> <span class=\"nv\">by</span> <span class=\"nv\">get_country_display</span> <span class=\"k\">as</span> <span class=\"nv\">country_list</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>これで、 <code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">country.grouper</span> <span class=\"pre\">}}</span></code> はキーではなく <code class=\"docutils literal notranslate\"><span class=\"pre\">choices</span></code> セットの値フィールドを表示するようになります。</p>\n</section>\n</section>\n<section id=\"resetcycle\">\n<span id=\"std-templatetag-resetcycle\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">resetcycle</span></code><a class=\"heading-anchor\" href=\"#resetcycle\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>前の <a class=\"reference internal\" href=\"#cycle\">cycle</a> をリセットし、次の遭遇時に最初の項目から再開するようにします。引数がない場合、 <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">resetcycle</span> <span class=\"pre\">%}</span></code> はテンプレートで定義された最後の <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">cycle</span> <span class=\"pre\">%}</span></code> をリセットします。</p>\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\">coach</span> <span class=\"k\">in</span> <span class=\"nv\">coach_list</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">coach.name</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">athlete</span> <span class=\"k\">in</span> <span class=\"nv\">coach.athlete_set.all</span> <span class=\"cp\">%}</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">p</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">cycle</span> <span class=\"s1\">&#39;odd&#39;</span> <span class=\"s1\">&#39;even&#39;</span> <span class=\"cp\">%}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">athlete.name</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">resetcycle</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>上記の例は以下のようなHTMLを返します：</p>\n<div class=\"code-block\" data-language=\"html\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Html</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=\"Html code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>Gareth<span class=\"p\">&lt;/</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">p</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;odd&quot;</span><span class=\"p\">&gt;</span>Harry<span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">p</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;even&quot;</span><span class=\"p\">&gt;</span>John<span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">p</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;odd&quot;</span><span class=\"p\">&gt;</span>Nick<span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n\n<span class=\"p\">&lt;</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>John<span class=\"p\">&lt;/</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">p</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;odd&quot;</span><span class=\"p\">&gt;</span>Andrea<span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">p</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;even&quot;</span><span class=\"p\">&gt;</span>Melissa<span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>最初のブロックが <code class=\"docutils literal notranslate\"><span class=\"pre\">class=&quot;odd&quot;</span></code> で終わり、新しいブロックは <code class=\"docutils literal notranslate\"><span class=\"pre\">class=&quot;odd&quot;</span></code> で始まることに注意してください。 <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">resetcycle</span> <span class=\"pre\">%}</span></code> タグがなければ、2番目のブロックは <code class=\"docutils literal notranslate\"><span class=\"pre\">class=&quot;even&quot;</span></code> から始まります。</p>\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\">item</span> <span class=\"k\">in</span> <span class=\"nv\">list</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">p</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">cycle</span> <span class=\"s1\">&#39;odd&#39;</span> <span class=\"s1\">&#39;even&#39;</span> <span class=\"k\">as</span> <span class=\"nv\">stripe</span> <span class=\"cp\">%}</span><span class=\"s\"> </span><span class=\"cp\">{%</span> <span class=\"k\">cycle</span> <span class=\"s1\">&#39;major&#39;</span> <span class=\"s1\">&#39;minor&#39;</span> <span class=\"s1\">&#39;minor&#39;</span> <span class=\"s1\">&#39;minor&#39;</span> <span class=\"s1\">&#39;minor&#39;</span> <span class=\"k\">as</span> <span class=\"nv\">tick</span> <span class=\"cp\">%}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>\n        <span class=\"cp\">{{</span> <span class=\"nv\">item.data</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">ifchanged</span> <span class=\"nv\">item.category</span> <span class=\"cp\">%}</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">item.category</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>\n        <span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"k\">not</span> <span class=\"nb\">forloop</span><span class=\"nv\">.first</span> <span class=\"cp\">%}{%</span> <span class=\"k\">resetcycle</span> <span class=\"nv\">tick</span> <span class=\"cp\">%}{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endifchanged</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>この例では、&quot;odd&quot; と &quot;even&quot; の交互の行と、5行目ごとの &quot;major&quot; な行の両方があります。カテゴリーが変わると、5列のサイクルだけがリセットされます。</p>\n</section>\n<section id=\"spaceless\">\n<span id=\"std-templatetag-spaceless\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">spaceless</span></code><a class=\"heading-anchor\" href=\"#spaceless\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>ブロック内の HTML タグ間にある空白文字を除去します。タブ文字や改行も含みます。</p>\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\">spaceless</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">a</span> <span class=\"na\">href</span><span class=\"o\">=</span><span class=\"s\">&quot;foo/&quot;</span><span class=\"p\">&gt;</span>Foo<span class=\"p\">&lt;/</span><span class=\"nt\">a</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endspaceless</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>上記の例は以下のようなHTMLを返します：</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=\"p\">&lt;</span><span class=\"nt\">p</span><span class=\"p\">&gt;&lt;</span><span class=\"nt\">a</span> <span class=\"na\">href</span><span class=\"o\">=</span><span class=\"s\">&quot;foo/&quot;</span><span class=\"p\">&gt;</span>Foo<span class=\"p\">&lt;/</span><span class=\"nt\">a</span><span class=\"p\">&gt;&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>取り除かれるのは、タグとタグの間の空白だけです。タグとテキストの間のスペースは取り除かれません。この例では、<code class=\"docutils literal notranslate\"><span class=\"pre\">Hello</span></code> の周りのスペースは取り除かれません：</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\">spaceless</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">strong</span><span class=\"p\">&gt;</span>\n        Hello\n    <span class=\"p\">&lt;/</span><span class=\"nt\">strong</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endspaceless</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"templatetag\">\n<span id=\"std-templatetag-templatetag\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">templatetag</span></code><a class=\"heading-anchor\" href=\"#templatetag\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>テンプレートタグの構文で使われる文字を、通常の文字として出力します。</p>\n<p>テンプレートシステムには個々の文字を「エスケープ」する概念はありません。しかし、<code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">templatetag</span> <span class=\"pre\">%}</span></code> タグを使えば、テンプレートタグの文字の組み合わせを表示できます。</p>\n<p>どの要素を出力するかは、引数で指定します:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>引数</p></th>\n<th class=\"head\"><p>出力</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">openblock</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">closeblock</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">%}</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">openvariable</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">closevariable</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">}}</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">openbrace</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">closebrace</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">}</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">opencomment</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{#</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">closecomment</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">#}</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</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>The <span class=\"cp\">{%</span> <span class=\"k\">templatetag</span> <span class=\"nv\">openblock</span> <span class=\"cp\">%}</span> characters open a block.\n</code></pre></div>\n<p>これらの文字を含める別の方法については <a class=\"reference internal\" href=\"#std-templatetag-verbatim\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">verbatim</span></code></a> タグも参照してください。</p>\n</section>\n<section id=\"url\">\n<span id=\"std-templatetag-url\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">url</span></code><a class=\"heading-anchor\" href=\"#url\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>ビューとオプションの引数を指定して、これとマッチする絶対パスへの参照 ( ドメイン部分を除いた URL ) を返します。結果のパスに特殊文字が含まれる場合、 <a class=\"reference internal\" href=\"/ja/5.2/ref/utils/#django.utils.encoding.iri_to_uri\" title=\"django.utils.encoding.iri_to_uri\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">iri_to_uri()</span></code></a> を使ってエンコードされます。</p>\n<p>これによって、テンプレート内での URL のハードコードによって DRY 原則に反することなくリンクを出力できます:</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\">url</span> <span class=\"s1\">&#39;some-url-name&#39;</span> <span class=\"nv\">v1</span> <span class=\"nv\">v2</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>第 1 引数は <a class=\"reference internal\" href=\"/ja/5.2/topics/http/urls/#naming-url-patterns\"><span class=\"std std-ref\">URL パターン名</span></a> です。これは引用符で括ったリテラル、またはその他のコンテキスト変数です。続く引数はオプションで、空白で区切って指定します。引数はそれぞれ URL の引数として使われます。上の例では固定引数によって引数を指定していますが、代わりにキーワード引数で指定することもできます:</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\">url</span> <span class=\"s1\">&#39;some-url-name&#39;</span> <span class=\"nv\">arg1</span><span class=\"o\">=</span><span class=\"nv\">v1</span> <span class=\"nv\">arg2</span><span class=\"o\">=</span><span class=\"nv\">v2</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>1 つの呼び出しのなかで、固定引数とキーワード引数を混ぜることはできません。また URLconf で必要とされる引数はすべて指定しなければなりません。</p>\n<p>たとえば <code class=\"docutils literal notranslate\"><span class=\"pre\">app_views.client</span></code> という名前のビューがあって、クライアントの ID を引数に取るとしましょう ( <code class=\"docutils literal notranslate\"><span class=\"pre\">client()</span></code> は、 views ファイル <code class=\"docutils literal notranslate\"><span class=\"pre\">app_views.py</span></code> の中で定義されているメソッドです ) 。 URLconf は以下のようなものになるでしょう:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code><span class=\"n\">path</span><span class=\"p\">(</span><span class=\"s2\">&quot;client/&lt;int:id&gt;/&quot;</span><span class=\"p\">,</span> <span class=\"n\">app_views</span><span class=\"o\">.</span><span class=\"n\">client</span><span class=\"p\">,</span> <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;app-views-client&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>このアプリケーションの URLconf が、プロジェクトの URLconf の中に次のような形で include されていたとします:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code><span class=\"n\">path</span><span class=\"p\">(</span><span class=\"s2\">&quot;clients/&quot;</span><span class=\"p\">,</span> <span class=\"n\">include</span><span class=\"p\">(</span><span class=\"s2\">&quot;project_name.app_name.urls&quot;</span><span class=\"p\">))</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\">url</span> <span class=\"s1\">&#39;app-views-client&#39;</span> <span class=\"nv\">client.id</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>テンプレートタグの出力は、文字列 <code class=\"docutils literal notranslate\"><span class=\"pre\">/clients/client/123/</span></code> となります。</p>\n<p>逆引きしようとしている URL が存在しなかった場合、 <a class=\"reference internal\" href=\"/ja/5.2/ref/exceptions/#django.urls.NoReverseMatch\" title=\"django.urls.NoReverseMatch\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">NoReverseMatch</span></code></a> 例外が発生して、あなたのサイトにはエラーページが表示されることに注意しましょう。</p>\n<p>ページを表示させずに URL を取り出したい場合、少し違った呼び出し方が使えます:</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\">url</span> <span class=\"s1\">&#39;some-url-name&#39;</span> <span class=\"nv\">arg</span> <span class=\"nv\">arg2</span> <span class=\"k\">as</span> <span class=\"nv\">the_url</span> <span class=\"cp\">%}</span>\n\n<span class=\"p\">&lt;</span><span class=\"nt\">a</span> <span class=\"na\">href</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{{</span> <span class=\"nv\">the_url</span> <span class=\"cp\">}}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>I&#39;m linking to <span class=\"cp\">{{</span> <span class=\"nv\">the_url</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">a</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>`` ～ as 変数`` の構文で作られた変数は、 <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">url</span> <span class=\"pre\">%}</span></code> タグのある <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">block</span> <span class=\"pre\">%}</span></code> 内がスコープとなります。</p>\n<p>次の例で、 <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">url</span> <span class=\"pre\">...</span> <span class=\"pre\">as</span> <span class=\"pre\">var</span> <span class=\"pre\">%}</span></code> 構文はビューが見つからなくてもエラーを起こしません。実用としては、オプションのビューへリンクする場合に使えます:</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\">url</span> <span class=\"s1\">&#39;some-url-name&#39;</span> <span class=\"k\">as</span> <span class=\"nv\">the_url</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">the_url</span> <span class=\"cp\">%}</span>\n  <span class=\"p\">&lt;</span><span class=\"nt\">a</span> <span class=\"na\">href</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{{</span> <span class=\"nv\">the_url</span> <span class=\"cp\">}}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>Link to optional stuff<span class=\"p\">&lt;/</span><span class=\"nt\">a</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>名前空間化された URL を取り出したい場合は、完全修飾名で指定してください：</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\">url</span> <span class=\"s1\">&#39;myapp:view-name&#39;</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>これは通常の <a class=\"reference internal\" href=\"/ja/5.2/topics/http/urls/#topics-http-reversing-url-namespaces\"><span class=\"std std-ref\">名前付き URL の解決順序</span></a> に従います。ここには現在のアプリケーションに関してコンテキストから得られる様々なヒントについて書かれています。</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">警告</p>\n<p>URL パターン <code class=\"docutils literal notranslate\"><span class=\"pre\">name</span></code> は忘れずに引用符で囲んで下さい。そうしないと、値はコンテキスト変数であると解釈されます！</p>\n</aside>\n</section>\n<section id=\"verbatim\">\n<span id=\"std-templatetag-verbatim\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">verbatim</span></code><a class=\"heading-anchor\" href=\"#verbatim\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>このブロックタグ内では、テンプレートエンジンによる解釈を行いません。</p>\n<p>これは JavaScript テンプレート の文法が Django と衝突してしまう時によく使われます。例えば:</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\">verbatim</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span><span class=\"k\">if</span> <span class=\"nv\">dying</span><span class=\"cp\">}}</span>Still alive.<span class=\"cp\">{{</span><span class=\"o\">/</span><span class=\"k\">if</span><span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endverbatim</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>verbatim ブロックの中で &quot;<code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">endverbatim</span> <span class=\"pre\">%}</span></code>&quot; を使うには、開始・終了タグが特定できるように名前をつけます:</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\">verbatim</span> <span class=\"nv\">myblock</span> <span class=\"cp\">%}</span>\n    Avoid template rendering via the <span class=\"cp\">{%</span> <span class=\"k\">verbatim</span> <span class=\"cp\">%}{%</span> <span class=\"k\">endverbatim</span> <span class=\"cp\">%}</span> block.\n<span class=\"cp\">{%</span> <span class=\"k\">endverbatim</span> <span class=\"nv\">myblock</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"widthratio\">\n<span id=\"std-templatetag-widthratio\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">widthratio</span></code><a class=\"heading-anchor\" href=\"#widthratio\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>バーチャートなどを生成する場合のために、指定した値と最大値との比を計算し、 定数に掛けた値を返します。</p>\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=\"p\">&lt;</span><span class=\"nt\">img</span> <span class=\"na\">src</span><span class=\"o\">=</span><span class=\"s\">&quot;bar.png&quot;</span> <span class=\"na\">alt</span><span class=\"o\">=</span><span class=\"s\">&quot;Bar&quot;</span>\n     <span class=\"na\">height</span><span class=\"o\">=</span><span class=\"s\">&quot;10&quot;</span> <span class=\"na\">width</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">widthratio</span> <span class=\"nv\">this_value</span> <span class=\"nv\">max_value</span> <span class=\"nv\">max_width</span> <span class=\"cp\">%}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>ここで this_value = 175 、 max_value = 200 であるとき、画像の幅は 88 ピクセルになります (175 / 200 = .875、 .875 * 100 = 87.5 から四捨五入して 88 )。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">widthratio</span></code> の結果を変数に入れてキャプチャーしたいことがあります。例えば <a class=\"reference internal\" href=\"/ja/5.2/topics/i18n/translation/#std-templatetag-blocktranslate\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">blocktranslate</span></code></a> で使う場合、次のようにできます:</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\">widthratio</span> <span class=\"nv\">this_value</span> <span class=\"nv\">max_value</span> <span class=\"nv\">max_width</span> <span class=\"k\">as</span> <span class=\"nv\">width</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">blocktranslate</span> <span class=\"cp\">%}</span>The width is: <span class=\"cp\">{{</span> <span class=\"nv\">width</span> <span class=\"cp\">}}{%</span> <span class=\"k\">endblocktranslate</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"with\">\n<span id=\"std-templatetag-with\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">with</span></code><a class=\"heading-anchor\" href=\"#with\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>複雑な表現の変数の値をキャッシュし、簡単な名前で参照できるようにします。呼出しコストの高いメソッド (たとえばデータベースを操作するようなメソッド) に何度もアクセスする際に便利です。</p>\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\">with</span> <span class=\"nv\">total</span><span class=\"o\">=</span><span class=\"nv\">business.employees.count</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">total</span> <span class=\"cp\">}}</span> employee<span class=\"cp\">{{</span> <span class=\"nv\">total</span><span class=\"o\">|</span><span class=\"nf\">pluralize</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endwith</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>値を組み込んだ変数 (上の例でいえば <code class=\"docutils literal notranslate\"><span class=\"pre\">total</span></code> ) は <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">with</span> <span class=\"pre\">%}</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">endwith</span> <span class=\"pre\">%}</span></code> タグの間でだけ有効です。</p>\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\">with</span> <span class=\"nv\">alpha</span><span class=\"o\">=</span><span class=\"m\">1</span> <span class=\"nv\">beta</span><span class=\"o\">=</span><span class=\"m\">2</span> <span class=\"cp\">%}</span>\n    ...\n<span class=\"cp\">{%</span> <span class=\"k\">endwith</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>従来の冗長な書式もサポートされています:  <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">with</span> <span class=\"pre\">business.employees.count</span> <span class=\"pre\">as</span> <span class=\"pre\">total</span> <span class=\"pre\">%}</span></code></p>\n</aside>\n</section>\n</section>\n<section id=\"built-in-filter-reference\">\n<span id=\"ref-templates-builtins-filters\"></span><h2>組み込みフィルタリファレンス<a class=\"heading-anchor\" href=\"#built-in-filter-reference\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"add\">\n<span id=\"std-templatefilter-add\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">add</span></code><a class=\"heading-anchor\" href=\"#add\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力値に対して引数の値を加算します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">add</span><span class=\"s2\">:&quot;2&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p>value が 4 なら、出力は 6 になるでしょう。</p>\n<p>このフィルタは、まず両方の値を強制的に整数とみなして加算しようとします。失敗した場合は、とにかく値を足し合わせることを試みます。これはいくつかのデータ型 (文字列、リストなど) では動作しますが、それ以外では失敗します。失敗した場合、結果は空の文字列になります。</p>\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=\"nv\">first</span><span class=\"o\">|</span><span class=\"nf\">add</span><span class=\"o\">:</span><span class=\"nv\">second</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">first</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">[1,</span> <span class=\"pre\">2,</span> <span class=\"pre\">3]</span></code> 、 <code class=\"docutils literal notranslate\"><span class=\"pre\">second</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">[4,</span> <span class=\"pre\">5,</span> <span class=\"pre\">6]</span></code> であった場合、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">[1,</span> <span class=\"pre\">2,</span> <span class=\"pre\">3,</span> <span class=\"pre\">4,</span> <span class=\"pre\">5,</span> <span class=\"pre\">6]</span></code> になります。</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">警告</p>\n<p>整数に変換可能な文字列は、整数として「<strong>加算</strong>」されます。上の例のように「<strong>結合</strong>」されません。</p>\n</aside>\n</section>\n<section id=\"addslashes\">\n<span id=\"std-templatefilter-addslashes\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">addslashes</span></code><a class=\"heading-anchor\" href=\"#addslashes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>引用符の前にスラッシュを追加します。CSV などの文字列をエスケープする際に便利です。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">addslashes</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> の値が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;I'm</span> <span class=\"pre\">using</span> <span class=\"pre\">Django&quot;</span></code> のとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;I\\'m</span> <span class=\"pre\">using</span> <span class=\"pre\">Django&quot;</span></code> となります。</p>\n</section>\n<section id=\"capfirst\">\n<span id=\"std-templatefilter-capfirst\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">capfirst</span></code><a class=\"heading-anchor\" href=\"#capfirst\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力値の先頭の文字を大文字に変換します。最初の文字がアルファベットでなければ効果はありません。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">capfirst</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> のとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Django&quot;</span></code> となります。</p>\n</section>\n<section id=\"center\">\n<span id=\"std-templatefilter-center\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">center</span></code><a class=\"heading-anchor\" href=\"#center\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力値を引数で指定された幅のフィールド内に中央寄せします。</p>\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>&quot;<span class=\"cp\">{{</span> <span class=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">center</span><span class=\"s2\">:&quot;15&quot;</span> <span class=\"cp\">}}</span>&quot;\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> の値が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;django&quot;</span></code> のとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;</span>&#160;&#160;&#160;&#160; <span class=\"pre\">Django</span>&#160;&#160;&#160; <span class=\"pre\">&quot;</span></code> となります。</p>\n</section>\n<section id=\"cut\">\n<span id=\"std-templatefilter-cut\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">cut</span></code><a class=\"heading-anchor\" href=\"#cut\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力値の中から、引数に指定した値を全て取り除きます。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">cut</span><span class=\"s2\">:&quot; &quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> の値が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;String</span> <span class=\"pre\">with</span> <span class=\"pre\">spaces&quot;</span></code> のとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Stringwithspaces&quot;</span></code> となります。</p>\n</section>\n<section id=\"date\">\n<span id=\"std-templatefilter-date\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">date</span></code><a class=\"heading-anchor\" href=\"#date\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>引数に指定した書式で日付をフォーマットします。</p>\n<p>PHP の <a class=\"reference external\" href=\"https://www.php.net/manual/en/function.date.php\">date()</a> 関数と似た書式を使いますが、若干の違いがあります。</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>これらのフォーマット文字は、テンプレート以外では使えません。デザイナーが PHP のテンプレートから容易に変換できるように互換性を持たせています。</p>\n</aside>\n<p id=\"date-and-time-formatting-specifiers\">利用可能なフォーマット文字:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>フォーマット文字</p></th>\n<th class=\"head\"><p>説明</p></th>\n<th class=\"head\"><p>出力の例</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>日</p></td>\n<td></td>\n<td></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">d</span></code></p></td>\n<td><p>日。 2 桁のゼロ詰め表示です。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'01'</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">'31'</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">j</span></code></p></td>\n<td><p>日。ゼロ埋め表示なし。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'1'</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">'31'</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">D</span></code></p></td>\n<td><p>曜日。 アルファベット 3 文字のテキスト形式です。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'Fri'</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">l</span></code></p></td>\n<td><p>曜日。長いテキスト形式です。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'Friday'</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">S</span></code></p></td>\n<td><p>日を表わす数字につける、英語特有の接尾辞。アルファベット 2 文字です。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'st'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'nd'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'rd'</span></code> or <code class=\"docutils literal notranslate\"><span class=\"pre\">'th'</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">w</span></code></p></td>\n<td><p>曜日（数字 1 桁）。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'0'</span></code> (日曜) ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">'6'</span></code> (土曜)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">z</span></code></p></td>\n<td><p>日（１年間における）</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">1</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">366</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><strong>週</strong></p></td>\n<td></td>\n<td></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">W</span></code></p></td>\n<td><p>ISO-8601 による年間の週番号。 週は月曜日から始まります。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">1</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">53</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><strong>月</strong></p></td>\n<td></td>\n<td></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">m</span></code></p></td>\n<td><p>月。数字 2 桁で、ゼロ埋め表示します。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'01'</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">'12'</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">n</span></code></p></td>\n<td><p>月。ゼロ埋め表示しません。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'1'</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">'12'</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">M</span></code></p></td>\n<td><p>月。アルファベット 3 文字のテキスト形式です。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'Jan'</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">b</span></code></p></td>\n<td><p>月。アルファベット（小文字） 3 文字のテキスト形式です。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'jan'</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">E</span></code></p></td>\n<td><p>月。ロケールが定義する代替表現が使われ、通常は長いテキスト形式になります。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'listopada'</span></code> ( ロケールがポーランド語の場合。ポーランド語 <code class=\"docutils literal notranslate\"><span class=\"pre\">'Listopad（</span> <span class=\"pre\">11</span> <span class=\"pre\">月）'</span></code> の、時制における変化形 )</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">F</span></code></p></td>\n<td><p>月。長いテキスト形式で表したものです。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'January'</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">N</span></code></p></td>\n<td><p>AP スタイルブックによる月の省略表記。独自の拡張です。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'Jan.'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'Feb.'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'March'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'May'</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">t</span></code></p></td>\n<td><p>その月の日数。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">28</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">31</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><strong>年</strong></p></td>\n<td></td>\n<td></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">y</span></code></p></td>\n<td><p>年。数字 2 桁で、先頭をゼロ埋めします。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'00'</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">'99'</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Y</span></code></p></td>\n<td><p>年。数字 4 桁で、先頭をゼロ埋めします。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'0001'</span></code>, ..., <code class=\"docutils literal notranslate\"><span class=\"pre\">'1999'</span></code>, ..., <code class=\"docutils literal notranslate\"><span class=\"pre\">'9999'</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">L</span></code></p></td>\n<td><p>うるう年かどうかを表すブール値です。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> または <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">o</span></code></p></td>\n<td><p>ISO-8601 の週番号付き記法による年。うるう週を用いた ISO-8601 週番号 (W) に対応します。一般的な年のフォーマットは Y を参照してください。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'1999'</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><strong>時刻</strong></p></td>\n<td></td>\n<td></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">g</span></code></p></td>\n<td><p>時（ 12 時間表記）。ゼロ埋め表示なし。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'1'</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">'12'</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">G</span></code></p></td>\n<td><p>時（ 24 時間表記）。ゼロ埋め表示なし。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'0'</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">'23'</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">h</span></code></p></td>\n<td><p>時（ 12 時間表記）。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'01'</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">'12'</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">H</span></code></p></td>\n<td><p>時（ 24 時間表記）。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'00'</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">'23'</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">i</span></code></p></td>\n<td><p>分。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'00'</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">'59'</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">s</span></code></p></td>\n<td><p>秒。数字 2 桁で、ゼロ埋め表示です。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'00'</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">'59'</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">u</span></code></p></td>\n<td><p>マイクロ秒。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">000000</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">999999</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">a</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'a.m.'</span></code> または <code class=\"docutils literal notranslate\"><span class=\"pre\">'p.m.'</span></code> ( 注： PHP における出力と少し異なり、 AP スタイルブックに従ってピリオドをつけます )</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'a.m.'</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">A</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'AM'</span></code> または <code class=\"docutils literal notranslate\"><span class=\"pre\">'PM'</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'AM'</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">f</span></code></p></td>\n<td><p>時と分（12 時間表記）。ただしゼロ分であるときは時間だけを表示します。これは独自の拡張です。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'1'</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">'1:30'</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">P</span></code></p></td>\n<td><p>時刻。12 時間表記による 時間:分 に続けて ‘a.m.’ または ’p.m.’ を表示します。ゼロ分である場合には分の表示が省略され、必要に応じて ‘midnight’ または ‘noon’ の表示になります。 独自の拡張です。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'1</span> <span class=\"pre\">a.m.'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'1:30</span> <span class=\"pre\">p.m.'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'midnight'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'noon'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'12:30</span> <span class=\"pre\">p.m.'</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><strong>タイムゾーン</strong></p></td>\n<td></td>\n<td></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">e</span></code></p></td>\n<td><p>タイムゾーン名。どのフォーマットでも使えますが、 datetime によっては空の文字列を返す場合もあります。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">''</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'GMT'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'-500'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'US/Eastern'</span></code>　など</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">I</span></code></p></td>\n<td><p>夏時間（DST）が有効か、そうでないかを表します。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'1'</span></code> または <code class=\"docutils literal notranslate\"><span class=\"pre\">'0'</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">O</span></code></p></td>\n<td><p>グリニッジ標準時からの時差。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'+0200'</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">T</span></code></p></td>\n<td><p>計算機のタイムゾーン設定。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'EST'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'MDT'</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Z</span></code></p></td>\n<td><p>タイムゾーンオフセットを秒であらわしたもの。UTC よりも西側のタイムゾーン値は全て負の値になり、東側の値は常に正になります。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">-43200</span></code> ～ <code class=\"docutils literal notranslate\"><span class=\"pre\">43200</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><strong>日付/時刻</strong></p></td>\n<td></td>\n<td></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">c</span></code></p></td>\n<td><p>ISO 8601 フォーマット。 ( 注： これは他の &quot;Z&quot;、&quot;O&quot;、&quot;r&quot; といったフォーマット文字とは異なり、 入力値がタイムゾーン情報を含まない（&quot;naive&quot;な） datetime であっても、タイムゾーンによる時差を加算しません ( <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\"><span class=\"pre\">datetime.tzinfo</span></code></a> を参照 )。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">2008-01-02T10:30:00.000123+02:00</span></code> 、または datetime が naive である場合  <code class=\"docutils literal notranslate\"><span class=\"pre\">2008-01-02T10:30:00.000123</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">r</span></code></p></td>\n<td><p><span class=\"target\" id=\"index-2\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc5322.html#section-3.3\"><strong>RFC 5322</strong></a> フォーマットの日付。</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'Thu,</span> <span class=\"pre\">21</span> <span class=\"pre\">Dec</span> <span class=\"pre\">2000</span> <span class=\"pre\">16:01:07</span> <span class=\"pre\">+0200'</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">U</span></code></p></td>\n<td><p>Unix エポック時 ( UTC 協定世界時 1970年1月1日 00:00:00 ) からの秒数。</p></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;D d M Y&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<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\"><span class=\"pre\">datetime</span></code></a> オブジェクトである場合 (たとえば <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.datetime.now()</span></code> の結果など)、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">'Wed</span> <span class=\"pre\">09</span> <span class=\"pre\">Jan</span> <span class=\"pre\">2008'</span></code> となります。</p>\n<p>フォーマットには、プリセット（ <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-DATE_FORMAT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DATE_FORMAT</span></code></a>, <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-DATETIME_FORMAT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DATETIME_FORMAT</span></code></a>, <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-SHORT_DATE_FORMAT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SHORT_DATE_FORMAT</span></code></a> or <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-SHORT_DATETIME_FORMAT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SHORT_DATETIME_FORMAT</span></code></a> ）のうちの１つ、または上記の表で示したフォーマット指定文字を使ったカスタムフォーマットが使えます。プリセットのフォーマットは、現在のロケールに応じて表示が変化することに注意してください。</p>\n<p>たとえば <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-LANGUAGE_CODE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LANGUAGE_CODE</span></code></a> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;es&quot;</span></code> だったとして、：</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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;SHORT_DATE_FORMAT&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p>上記の出力は、文字列 <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;09/01/2008&quot;</span></code> となります ( <code class=\"docutils literal notranslate\"><span class=\"pre\">es</span></code> ロケールの <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;SHORT_DATE_FORMAT&quot;</span></code> フォーマットは、 Django の初期設定では <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;d/m/Y&quot;</span></code> です)。</p>\n<p>フォーマット文字列を指定せずに使用する場合、 <code class=\"docutils literal notranslate\"><span class=\"pre\">DATE_FORMAT</span></code> フォーマット指定子が使用されます。先ほどの例と同じ設定だとすると：</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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">date</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p>は <code class=\"docutils literal notranslate\"><span class=\"pre\">9</span> <span class=\"pre\">de</span> <span class=\"pre\">Enero</span> <span class=\"pre\">de</span> <span class=\"pre\">2008</span></code> を出力します (<code class=\"docutils literal notranslate\"><span class=\"pre\">es</span></code> ロケールの <code class=\"docutils literal notranslate\"><span class=\"pre\">DATE_FORMAT</span></code> フォーマット指定子は <code class=\"docutils literal notranslate\"><span class=\"pre\">r'j</span> <span class=\"pre\">\\d\\e</span> <span class=\"pre\">F</span> <span class=\"pre\">\\d\\e</span> <span class=\"pre\">Y'</span></code>)。 &quot;d &quot;と &quot;e &quot;はどちらもバックスラッシュでエスケープされていますが、それ以外はそれぞれ曜日とタイムゾーン名を表示するフォーマット文字列だからです。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">date</span></code> と <a class=\"reference internal\" href=\"#std-templatefilter-time\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">time</span></code></a> フィルタを組み合わせることで、 <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime</span></code> 値を完全に表示することもできます。 たとえば以下のようにします：</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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;D d M Y&quot;</span> <span class=\"cp\">}}</span> <span class=\"cp\">{{</span> <span class=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">time</span><span class=\"s2\">:&quot;H:i&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n</section>\n<section id=\"default\">\n<span id=\"std-templatefilter-default\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code><a class=\"heading-anchor\" href=\"#default\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力の評価値が <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> の場合、引数に指定したデフォルト値を使います。そうでなければ、入力値を使います。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">default</span><span class=\"s2\">:&quot;nothing&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;&quot;</span></code> ( 空の文字列 ) のとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">nothing</span></code> になります。</p>\n</section>\n<section id=\"default-if-none\">\n<span id=\"std-templatefilter-default_if_none\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">default_if_none</span></code><a class=\"heading-anchor\" href=\"#default-if-none\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力値が <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> であるとき ( <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> であるときのみ ) 、引数に指定したデフォルト値を使いま す。そうでなければ、入力値を使います。</p>\n<p>空の文字列が入力された場合は、デフォルト値を <em>使わない</em> ことに注意してください。空文字列をフォールバックしたければ <a class=\"reference internal\" href=\"#std-templatefilter-default\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">default</span></code></a> フィルタを使ってください。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">default_if_none</span><span class=\"s2\">:&quot;nothing&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> の場合、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">nothing</span></code> となります。</p>\n</section>\n<section id=\"dictsort\">\n<span id=\"std-templatefilter-dictsort\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">dictsort</span></code><a class=\"heading-anchor\" href=\"#dictsort\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>辞書のリストを入力として、引数に指定したキーでリストをソートして返します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">dictsort</span><span class=\"s2\">:&quot;name&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が以下の内容であるとします:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code><span class=\"p\">[</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;zed&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;age&quot;</span><span class=\"p\">:</span> <span class=\"mi\">19</span><span class=\"p\">},</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;amy&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;age&quot;</span><span class=\"p\">:</span> <span class=\"mi\">22</span><span class=\"p\">},</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;joe&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;age&quot;</span><span class=\"p\">:</span> <span class=\"mi\">31</span><span class=\"p\">},</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>このとき出力は以下のようになるでしょう:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code><span class=\"p\">[</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;amy&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;age&quot;</span><span class=\"p\">:</span> <span class=\"mi\">22</span><span class=\"p\">},</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;joe&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;age&quot;</span><span class=\"p\">:</span> <span class=\"mi\">31</span><span class=\"p\">},</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;zed&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;age&quot;</span><span class=\"p\">:</span> <span class=\"mi\">19</span><span class=\"p\">},</span>\n<span class=\"p\">]</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\">book</span> <span class=\"k\">in</span> <span class=\"nv\">books</span><span class=\"o\">|</span><span class=\"nf\">dictsort</span><span class=\"s2\">:&quot;author.age&quot;</span> <span class=\"cp\">%}</span>\n    * <span class=\"cp\">{{</span> <span class=\"nv\">book.title</span> <span class=\"cp\">}}</span> (<span class=\"cp\">{{</span> <span class=\"nv\">book.author.name</span> <span class=\"cp\">}}</span>)\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>ここで <code class=\"docutils literal notranslate\"><span class=\"pre\">books</span></code> が以下の内容だとします:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code><span class=\"p\">[</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;title&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;1984&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;author&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;George&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;age&quot;</span><span class=\"p\">:</span> <span class=\"mi\">45</span><span class=\"p\">}},</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;title&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Timequake&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;author&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Kurt&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;age&quot;</span><span class=\"p\">:</span> <span class=\"mi\">75</span><span class=\"p\">}},</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;title&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Alice&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;author&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Lewis&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;age&quot;</span><span class=\"p\">:</span> <span class=\"mi\">33</span><span class=\"p\">}},</span>\n<span class=\"p\">]</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>* Alice (Lewis)\n* 1984 (George)\n* Timequake (Kurt)\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">dictsort</span></code> はリスト（または <code class=\"docutils literal notranslate\"><span class=\"pre\">__getitem__()</span></code> を実装した他のオブジェクト）のリストを指定したインデックスの要素でソートすることもできます。たとえば、：</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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">dictsort</span><span class=\"o\">:</span><span class=\"m\">0</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が以下の内容であるとします:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code><span class=\"p\">[</span>\n    <span class=\"p\">(</span><span class=\"s2\">&quot;a&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;42&quot;</span><span class=\"p\">),</span>\n    <span class=\"p\">(</span><span class=\"s2\">&quot;c&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;string&quot;</span><span class=\"p\">),</span>\n    <span class=\"p\">(</span><span class=\"s2\">&quot;b&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;foo&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>このとき出力は以下のようになるでしょう:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code><span class=\"p\">[</span>\n    <span class=\"p\">(</span><span class=\"s2\">&quot;a&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;42&quot;</span><span class=\"p\">),</span>\n    <span class=\"p\">(</span><span class=\"s2\">&quot;b&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;foo&quot;</span><span class=\"p\">),</span>\n    <span class=\"p\">(</span><span class=\"s2\">&quot;c&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;string&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">]</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=\"nv\">values</span><span class=\"o\">|</span><span class=\"nf\">dictsort</span><span class=\"s2\">:&quot;0&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p>指定したインデックスの要素によるソートは辞書ではサポートされていません。</p>\n</section>\n<section id=\"dictsortreversed\">\n<span id=\"std-templatefilter-dictsortreversed\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">dictsortreversed</span></code><a class=\"heading-anchor\" href=\"#dictsortreversed\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>辞書のリストを入力に取り、引数に指定したキーでリストを逆順にソートして返します。これは上のフィルタと全く同じ処理をしますが、返す値は逆順です。</p>\n</section>\n<section id=\"divisibleby\">\n<span id=\"std-templatefilter-divisibleby\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">divisibleby</span></code><a class=\"heading-anchor\" href=\"#divisibleby\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>値が引数の値で割り切れる場合に <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> を返します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">divisibleby</span><span class=\"s2\">:&quot;3&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">21</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> です。</p>\n</section>\n<section id=\"escape\">\n<span id=\"std-templatefilter-escape\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">escape</span></code><a class=\"heading-anchor\" href=\"#escape\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力文字中にある HTML の特殊文字をエスケープします。具体的には、以下のような置換を行います:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;</span></code> を <code class=\"docutils literal notranslate\"><span class=\"pre\">&amp;lt;</span></code> に変換</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&gt;</span></code> を <code class=\"docutils literal notranslate\"><span class=\"pre\">&amp;gt;</span></code> に変換</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'</span></code> ( シングルクォート ) を <code class=\"docutils literal notranslate\"><span class=\"pre\">&amp;#x27;</span></code>　に変換</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;</span></code> ( ダブルクォート ) を <code class=\"docutils literal notranslate\"><span class=\"pre\">&amp;quot;</span></code> に変換</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&amp;</span></code> を <code class=\"docutils literal notranslate\"><span class=\"pre\">&amp;amp;</span></code> に変換</p></li>\n</ul>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">escape</span></code> を変数に適用するとき、変数にはすでに自動エスケープが適用されているかもしれませんが、エスケープが二重に実行されることはありません。したがって自動エスケープ環境であっても、この機能は安全に使用できます。複数回のエスケープが適用されるようにしたい場合は <a class=\"reference internal\" href=\"#std-templatefilter-force_escape\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">force_escape</span></code></a> フィルタを使用してください。</p>\n<p>以下は <a class=\"reference internal\" href=\"#std-templatetag-autoescape\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">autoescape</span></code></a> がオフであるときに、フィールドに <code class=\"docutils literal notranslate\"><span class=\"pre\">escape</span></code> を適用する例です:</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\">autoescape</span> <span class=\"nv\">off</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">title</span><span class=\"o\">|</span><span class=\"nf\">escape</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endautoescape</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<aside class=\"admonition-chaining-escape-with-other-filters admonition\">\n<p class=\"admonition-title\"><code class=\"docutils literal notranslate\"><span class=\"pre\">escape</span></code> を他のフィルタと連結する場合</p>\n<p><a class=\"reference internal\" href=\"#std-templatetag-autoescape\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">autoescape</span></code></a> のセクションで述べたように、<code class=\"docutils literal notranslate\"><span class=\"pre\">escape</span></code> を含むフィルタが連結されている場合、 <a class=\"reference internal\" href=\"#std-templatetag-autoescape\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">autoescape</span></code></a> が <code class=\"docutils literal notranslate\"><span class=\"pre\">off</span></code> であることが原因でエスケープが行われず、先行するフィルタが安全でない可能性のある文字列を安全であるとマークしてしまうと、予期しない結果になることがあります。</p>\n<p>このような場合、<code class=\"docutils literal notranslate\"><span class=\"pre\">escape</span></code> を連結させても、すでに安全であるとマークされている文字列を再エスケープすることはできません。</p>\n<p>これは、例えば <a class=\"reference internal\" href=\"#std-templatefilter-join\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">join</span></code></a> のようなシーケンスを操作するフィルタを使う場合に特に重要です。シーケンスの各要素をエスケープする必要がある場合は、専用の <a class=\"reference internal\" href=\"#std-templatefilter-escapeseq\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">escapeseq</span></code></a> フィルタを使用してください。</p>\n</aside>\n</section>\n<section id=\"escapejs\">\n<span id=\"std-templatefilter-escapejs\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">escapejs</span></code><a class=\"heading-anchor\" href=\"#escapejs\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>JavaScript の文字列リテラル全体として、以下のように一重引用符または二重引用符で囲んで使用する文字をエスケープします。このフィルタは文字列を <em>&quot;JavaScript テンプレートリテラル &quot;</em> (JavaScript のバックティック構文) では安全に使えません。これ以外の使い方はサポートされていません。通常は、データは埋め込み JavaScript ではなく、HTMLの <code class=\"docutils literal notranslate\"><span class=\"pre\">data-</span></code> 属性や <a class=\"reference internal\" href=\"#std-templatefilter-json_script\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">json_script</span></code></a> フィルタを使って渡すことを推奨します。</p>\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=\"p\">&lt;</span><span class=\"nt\">script</span><span class=\"p\">&gt;</span>\n<span class=\"kd\">let</span><span class=\"w\"> </span><span class=\"nx\">myValue</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"s1\">&#39;</span><span class=\"cp\">{{</span> <span class=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">escapejs</span> <span class=\"cp\">}}</span><span class=\"s1\">&#39;</span>\n</code></pre></div>\n</section>\n<section id=\"escapeseq\">\n<span id=\"std-templatefilter-escapeseq\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">escapeseq</span></code><a class=\"heading-anchor\" href=\"#escapeseq\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>シーケンスのそれぞれの要素に対して <a class=\"reference internal\" href=\"#std-templatefilter-escape\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">escape</span></code></a> フィルタを適用します。これはたとえば <a class=\"reference internal\" href=\"#std-templatefilter-join\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">join</span></code></a> のような、シーケンスを処理する他のフィルタと組み合わせて使うのが便利です。例をあげます:</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\">autoescape</span> <span class=\"nv\">off</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">my_list</span><span class=\"o\">|</span><span class=\"nf\">escapeseq</span><span class=\"o\">|</span><span class=\"nf\">join</span><span class=\"s2\">:&quot;, &quot;</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endautoescape</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"filesizeformat\">\n<span id=\"std-templatefilter-filesizeformat\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">filesizeformat</span></code><a class=\"heading-anchor\" href=\"#filesizeformat\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力値を、人間が読みやすいファイルサイズ表現 ('13 KB', '4.1 MB', '102 bytes' など) に変換します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">filesizeformat</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が 123456789 のとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">117.7</span> <span class=\"pre\">MB</span></code> になります。</p>\n<aside class=\"admonition-file-sizes-and-si-units admonition\">\n<p class=\"admonition-title\">ファイルサイズと国際単位系（SI）</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">filesizeformat</span></code> は、厳密には国際単位系（SI）に準拠していません。国際単位系ではバイトサイズを 1024 の累乗で計算する場合 (上の例がそうですが) 、  KiB、MiB、GiB などの単位を使うよう推奨しています。しかし Django ではより一般的な表記に対応して、従来の単位名（ KB、 MB、GB など）を使用しています。</p>\n</aside>\n</section>\n<section id=\"first\">\n<span id=\"std-templatefilter-first\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">first</span></code><a class=\"heading-anchor\" href=\"#first\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>リスト中の最初の要素を返します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">first</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> がリスト <code class=\"docutils literal notranslate\"><span class=\"pre\">['a',</span> <span class=\"pre\">'b',</span> <span class=\"pre\">'c']</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">'a'</span></code> になります。</p>\n</section>\n<section id=\"floatformat\">\n<span id=\"std-templatefilter-floatformat\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">floatformat</span></code><a class=\"heading-anchor\" href=\"#floatformat\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>引数なしで使った場合、浮動小数点数を小数点以下１桁に丸めます。ただし小数部分がない時には整数部分だけを表示します。例を示します:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code></p></th>\n<th class=\"head\"><p>テンプレート</p></th>\n<th class=\"head\"><p>出力</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.23234</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.2</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.00000</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.26000</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.3</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>引数に１以上の整数を指定した場合、 <code class=\"docutils literal notranslate\"><span class=\"pre\">floatformat</span></code> は小数部分を指定された桁数で丸めます。以下に例を示します:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code></p></th>\n<th class=\"head\"><p>テンプレート</p></th>\n<th class=\"head\"><p>出力</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.23234</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat:3</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.232</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.00000</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat:3</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.000</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.26000</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat:3</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.260</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>特に便利な使い方として、引数に 0 (ゼロ) を指定した場合、入力値を一番近い整数に丸めます。</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code></p></th>\n<th class=\"head\"><p>テンプレート</p></th>\n<th class=\"head\"><p>出力</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.23234</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat:&quot;0&quot;</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.00000</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat:&quot;0&quot;</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">39.56000</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat:&quot;0&quot;</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">40</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>引数に負の数を指定した場合、小数部分を指定された桁数（指定された数の絶対値）で丸めます。ただし小数部分がない時には整数部分だけを表示します。例を示します:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code></p></th>\n<th class=\"head\"><p>テンプレート</p></th>\n<th class=\"head\"><p>出力</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.23234</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat:&quot;-3&quot;</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.232</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.00000</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat:&quot;-3&quot;</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.26000</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat:&quot;-3&quot;</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.260</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>もし <code class=\"docutils literal notranslate\"><span class=\"pre\">floatformat</span></code> に渡された引数の接尾辞が <code class=\"docutils literal notranslate\"><span class=\"pre\">g</span></code> の場合、アクティブなロケールの <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-THOUSAND_SEPARATOR\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">THOUSAND_SEPARATOR</span></code></a> によるグループ化を強制します。例えば、アクティブなロケールが <code class=\"docutils literal notranslate\"><span class=\"pre\">en</span></code> (英語) の場合、以下のようになります：</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code></p></th>\n<th class=\"head\"><p>テンプレート</p></th>\n<th class=\"head\"><p>出力</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34232.34</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat:&quot;2g&quot;</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34,232.34</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34232.06</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat:&quot;g&quot;</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34,232.1</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34232.00</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat:&quot;-3g&quot;</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34,232</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p><a class=\"reference internal\" href=\"/ja/5.2/topics/i18n/formatting/#std-templatetag-localize\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">localize</span> <span class=\"pre\">off</span> <span class=\"pre\">%}</span></code></a> タグに関係なく）出力は常にローカライズされます。ただし、 <code class=\"docutils literal notranslate\"><span class=\"pre\">floatformat</span></code> に渡された引数の接尾辞が <code class=\"docutils literal notranslate\"><span class=\"pre\">u</span></code> であった場合は、ローカライズが無効になります。例えば、アクティブなロケールが <code class=\"docutils literal notranslate\"><span class=\"pre\">pl</span></code> (ポーランド語) の場合、以下のようになります：</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code></p></th>\n<th class=\"head\"><p>テンプレート</p></th>\n<th class=\"head\"><p>出力</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.23234</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat:&quot;3&quot;</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34,232</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.23234</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">value|floatformat:&quot;3u&quot;</span> <span class=\"pre\">}}</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">34.232</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">floatformat</span></code> を引数なしで使用した場合の動作は、引数に <code class=\"docutils literal notranslate\"><span class=\"pre\">-1</span></code> を指定した場合と同じです。</p>\n</section>\n<section id=\"force-escape\">\n<span id=\"std-templatefilter-force_escape\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">force_escape</span></code><a class=\"heading-anchor\" href=\"#force-escape\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>文字列に HTML エスケープを適用します。 ( 詳しくは <a class=\"reference internal\" href=\"#std-templatefilter-escape\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">escape</span></code></a> フィルタを参照してください )。フィルタは <em>即座に</em> 適用され、新たなエスケープ済みの文字列を返します。このタグが有用となるケースは稀で、複数回のエスケープが必要な場合や、エスケープされた結果に対して他のフィルタを適用したい場合に使います。通常は <a class=\"reference internal\" href=\"#std-templatefilter-escape\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">escape</span></code></a> フィルタを使うことになるでしょう。</p>\n<p>例えば、 <a class=\"reference internal\" href=\"#std-templatefilter-linebreaks\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">linebreaks</span></code></a> フィルタによって作成された <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;p&gt;</span></code> HTML 要素をキャッチしたい場合、以下のようにします：</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\">autoescape</span> <span class=\"nv\">off</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">body</span><span class=\"o\">|</span><span class=\"nf\">linebreaks</span><span class=\"o\">|</span><span class=\"nf\">force_escape</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endautoescape</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</section>\n<section id=\"get-digit\">\n<span id=\"std-templatefilter-get_digit\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">get_digit</span></code><a class=\"heading-anchor\" href=\"#get-digit\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力値が整数であるとき、引数で指定された桁にある数字を返します。たとえば引数が 1 のとき右端の桁、 2 のとき右から 2 桁目が指定されます。入力が整数でない場合には、入力値をそのまま返します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">get_digit</span><span class=\"s2\">:&quot;2&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">123456789</span></code> のとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">8</span></code> です。</p>\n</section>\n<section id=\"iriencode\">\n<span id=\"std-templatefilter-iriencode\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">iriencode</span></code><a class=\"heading-anchor\" href=\"#iriencode\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>IRI (国際化リソース識別子 Internationalized Resource Identifier) を URL に適した文字列に変換します。これは非 ASCII 文字列を URL に埋め込む場合に必要なフィルタです。</p>\n<p><a class=\"reference internal\" href=\"#std-templatefilter-urlencode\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">urlencode</span></code></a> フィルタを通した後の文字列を、このフィルタに通しても問題はありません。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">iriencode</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;?test=I</span> <span class=\"pre\">♥</span> <span class=\"pre\">Django&quot;</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;?test=I%20%E2%99%A5%20Django&quot;</span></code> となります。</p>\n</section>\n<section id=\"join\">\n<span id=\"std-templatefilter-join\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">join</span></code><a class=\"heading-anchor\" href=\"#join\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Python の <code class=\"docutils literal notranslate\"><span class=\"pre\">str.join(list)</span></code> と同じく、リストを文字列でつなぎます。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">join</span><span class=\"s2\">:&quot; // &quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> の値がリスト <code class=\"docutils literal notranslate\"><span class=\"pre\">['a',</span> <span class=\"pre\">'b',</span> <span class=\"pre\">'c']</span></code> であるとき、出力は文字列 <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;a</span> <span class=\"pre\">//</span> <span class=\"pre\">b</span> <span class=\"pre\">//</span> <span class=\"pre\">c&quot;</span></code> となります。</p>\n</section>\n<section id=\"json-script\">\n<span id=\"std-templatefilter-json_script\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">json_script</span></code><a class=\"heading-anchor\" href=\"#json-script\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Python オブジェクトを JSON として安全に出力し、 <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;script&gt;</span></code> タグでラップします。</p>\n<p><strong>引数:</strong> オプションで、HTMLの <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;script&gt;</span></code> タグの &quot;id&quot; を指定します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">json_script</span><span class=\"s2\">:&quot;hello-data&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が辞書 <code class=\"docutils literal notranslate\"><span class=\"pre\">{'hello':</span> <span class=\"pre\">'world'}</span></code> の場合、次のように出力されます：</p>\n<div class=\"code-block\" data-language=\"html\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Html</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=\"Html code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">script</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;hello-data&quot;</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;application/json&quot;</span><span class=\"p\">&gt;{</span><span class=\"s2\">&quot;hello&quot;</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"s2\">&quot;world&quot;</span><span class=\"p\">}&lt;/</span><span class=\"nt\">script</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>結果のデータは JavaScript で次のようにアクセスできます：</p>\n<div class=\"code-block\" data-language=\"javascript\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">JavaScript</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=\"JavaScript code\"><code><span class=\"kd\">const</span><span class=\"w\"> </span><span class=\"nx\">value</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"nb\">JSON</span><span class=\"p\">.</span><span class=\"nx\">parse</span><span class=\"p\">(</span><span class=\"nb\">document</span><span class=\"p\">.</span><span class=\"nx\">getElementById</span><span class=\"p\">(</span><span class=\"s1\">&#39;hello-data&#39;</span><span class=\"p\">).</span><span class=\"nx\">textContent</span><span class=\"p\">);</span>\n</code></pre></div>\n<p>XSS攻撃は &quot;&lt;&quot;, &quot;&gt;&quot;, &quot;&amp;&quot; をエスケープすることで緩和できます。例えば <code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">{'hello':</span> <span class=\"pre\">'world&lt;/script&gt;&amp;amp;'}</span></code> の場合、出力は次のようになります：</p>\n<div class=\"code-block\" data-language=\"html\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Html</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=\"Html code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">script</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;hello-data&quot;</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;application/json&quot;</span><span class=\"p\">&gt;{</span><span class=\"s2\">&quot;hello&quot;</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"s2\">&quot;world\\\\u003C/script\\\\u003E\\\\u0026amp;&quot;</span><span class=\"p\">}&lt;/</span><span class=\"nt\">script</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>これは、ページ内でのスクリプト実行を禁止する厳格なコンテンツセキュリティポリシーと互換性があります。また、受動的なデータと実行可能なコードをきれいに分離します。</p>\n</section>\n<section id=\"last\">\n<span id=\"std-templatefilter-last\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">last</span></code><a class=\"heading-anchor\" href=\"#last\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>リストの末尾の要素を返します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">last</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> の値がリスト <code class=\"docutils literal notranslate\"><span class=\"pre\">['a',</span> <span class=\"pre\">'b',</span> <span class=\"pre\">'c',</span> <span class=\"pre\">'d']</span></code> のとき、出力は文字列 <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;d&quot;</span></code> です。</p>\n</section>\n<section id=\"length\">\n<span id=\"std-templatefilter-length\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">length</span></code><a class=\"heading-anchor\" href=\"#length\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力値の長さを返します。これは、文字列とリストの両方で動作します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">length</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">['a',</span> <span class=\"pre\">'b',</span> <span class=\"pre\">'c',</span> <span class=\"pre\">'d']</span></code> 、 <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;abcd&quot;</span></code> であるとき、それぞれ出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">4</span></code> になります。</p>\n<p>フィルタは未定義の変数に対して <code class=\"docutils literal notranslate\"><span class=\"pre\">0</span></code> を返します。</p>\n</section>\n<section id=\"linebreaks\">\n<span id=\"std-templatefilter-linebreaks\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">linebreaks</span></code><a class=\"heading-anchor\" href=\"#linebreaks\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>プレーンテキストの改行を適切な HTML タグに変換します。 改行 1 つは改行タグ (<code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;br&gt;</span></code>) に、改行およびそれに続く空行は段落タグ (<code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;/p&gt;</span></code>) に変換されます。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">linebreaks</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">Joel\\nis</span> <span class=\"pre\">a</span> <span class=\"pre\">slug</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;p&gt;Joel&lt;br&gt;is</span> <span class=\"pre\">a</span> <span class=\"pre\">slug&lt;/p&gt;</span></code> になります。</p>\n</section>\n<section id=\"linebreaksbr\">\n<span id=\"std-templatefilter-linebreaksbr\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">linebreaksbr</span></code><a class=\"heading-anchor\" href=\"#linebreaksbr\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>プレーンテキストの改行を HTML の改行タグ (<code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;br&gt;</span></code>) に変換します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">linebreaksbr</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">Joel\\nis</span> <span class=\"pre\">a</span> <span class=\"pre\">slug</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">Joel&lt;br&gt;is</span> <span class=\"pre\">a</span> <span class=\"pre\">slug</span></code> になります。</p>\n</section>\n<section id=\"linenumbers\">\n<span id=\"std-templatefilter-linenumbers\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">linenumbers</span></code><a class=\"heading-anchor\" href=\"#linenumbers\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>テキストを行番号付きで表示します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">linenumbers</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が以下の内容であるとします:</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>one\ntwo\nthree\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>1. one\n2. two\n3. three\n</code></pre></div>\n</section>\n<section id=\"ljust\">\n<span id=\"std-templatefilter-ljust\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">ljust</span></code><a class=\"heading-anchor\" href=\"#ljust\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力値を指定した幅のフィールド内で左詰めします。</p>\n<p><strong>引数:</strong> フィールドの幅</p>\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>&quot;<span class=\"cp\">{{</span> <span class=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">ljust</span><span class=\"s2\">:&quot;10&quot;</span> <span class=\"cp\">}}</span>&quot;\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">Django</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Django</span>&#160;&#160;&#160; <span class=\"pre\">&quot;</span></code> となります。</p>\n</section>\n<section id=\"lower\">\n<span id=\"std-templatefilter-lower\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">lower</span></code><a class=\"heading-anchor\" href=\"#lower\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>文字列を全て小文字に変換します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">lower</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">Totally</span> <span class=\"pre\">LOVING</span> <span class=\"pre\">this</span> <span class=\"pre\">Album!</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">totally</span> <span class=\"pre\">loving</span> <span class=\"pre\">this</span> <span class=\"pre\">album!</span></code> となります。</p>\n</section>\n<section id=\"make-list\">\n<span id=\"std-templatefilter-make_list\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">make_list</span></code><a class=\"heading-anchor\" href=\"#make-list\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>リストに変換された値を返します。文字列の場合は、文字のリストになります。整数の場合は、リストを作成する前に引数を文字列にキャストします。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">make_list</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> の値が文字列 <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Joel&quot;</span></code> であるとき、出力はリスト <code class=\"docutils literal notranslate\"><span class=\"pre\">['J',</span> <span class=\"pre\">'o',</span> <span class=\"pre\">'e',</span> <span class=\"pre\">'l']</span></code> です。 <code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">123</span></code> のとき、出力はリスト <code class=\"docutils literal notranslate\"><span class=\"pre\">['1',</span> <span class=\"pre\">'2',</span> <span class=\"pre\">'3']</span></code> となります。</p>\n</section>\n<section id=\"phone2numeric\">\n<span id=\"std-templatefilter-phone2numeric\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">phone2numeric</span></code><a class=\"heading-anchor\" href=\"#phone2numeric\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>電話番号 (文字を含む場合もあります) を数値だけの番号に変換します。</p>\n<p>入力値は正しい電話番号でなくてもかまいません。このフィルタはどんな文字列でも変換します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">phone2numeric</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">800-COLLECT</span></code> のとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">800-2655328</span></code> となります。</p>\n</section>\n<section id=\"pluralize\">\n<span id=\"std-templatefilter-pluralize\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">pluralize</span></code><a class=\"heading-anchor\" href=\"#pluralize\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>値が <code class=\"docutils literal notranslate\"><span class=\"pre\">1</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'1'</span></code>, または長さ 1 のオブジェクトでない場合、複数形を表す接尾辞を返します。デフォルトでは、この接尾辞は <code class=\"docutils literal notranslate\"><span class=\"pre\">'s'</span></code> です。</p>\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>You have <span class=\"cp\">{{</span> <span class=\"nv\">num_messages</span> <span class=\"cp\">}}</span> message<span class=\"cp\">{{</span> <span class=\"nv\">num_messages</span><span class=\"o\">|</span><span class=\"nf\">pluralize</span> <span class=\"cp\">}}</span>.\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">num_messages</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">1</span></code> のとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">You</span> <span class=\"pre\">have</span> <span class=\"pre\">1</span> <span class=\"pre\">message.</span></code> です。 <code class=\"docutils literal notranslate\"><span class=\"pre\">num_messages</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">2</span></code> のとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">You</span> <span class=\"pre\">have</span> <span class=\"pre\">2</span> <span class=\"pre\">messages.</span></code> となります。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">'s'</span></code> 以外の接尾辞が必要な場合は、代わりの接尾辞をフィルタの引数で指定できます。</p>\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>You have <span class=\"cp\">{{</span> <span class=\"nv\">num_walruses</span> <span class=\"cp\">}}</span> walrus<span class=\"cp\">{{</span> <span class=\"nv\">num_walruses</span><span class=\"o\">|</span><span class=\"nf\">pluralize</span><span class=\"s2\">:&quot;es&quot;</span> <span class=\"cp\">}}</span>.\n</code></pre></div>\n<p>単純な接尾辞では複数形にできない単語の場合、単数形と複数形の接尾辞の両方をコンマで区切って指定できます。</p>\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>You have <span class=\"cp\">{{</span> <span class=\"nv\">num_cherries</span> <span class=\"cp\">}}</span> cherr<span class=\"cp\">{{</span> <span class=\"nv\">num_cherries</span><span class=\"o\">|</span><span class=\"nf\">pluralize</span><span class=\"s2\">:&quot;y,ies&quot;</span> <span class=\"cp\">}}</span>.\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>飜訳された文字列を複数形に変換するときは <a class=\"reference internal\" href=\"/ja/5.2/topics/i18n/translation/#std-templatetag-blocktranslate\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">blocktranslate</span></code></a> を使ってください。</p>\n</aside>\n</section>\n<section id=\"pprint\">\n<span id=\"std-templatefilter-pprint\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">pprint</span></code><a class=\"heading-anchor\" href=\"#pprint\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><a class=\"reference external\" href=\"https://docs.python.org/3/library/pprint.html#pprint.pprint\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">pprint.pprint()</span></code></a> のラッパーです -– 実のところ、これはデバッグ用です。</p>\n</section>\n<section id=\"random\">\n<span id=\"std-templatefilter-random\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">random</span></code><a class=\"heading-anchor\" href=\"#random\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>与えられたリストからランダムな要素を返します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">random</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> の値がリスト <code class=\"docutils literal notranslate\"><span class=\"pre\">['a',</span> <span class=\"pre\">'b',</span> <span class=\"pre\">'c',</span> <span class=\"pre\">'d']</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;b&quot;</span></code> かもしれません。</p>\n</section>\n<section id=\"rjust\">\n<span id=\"std-templatefilter-rjust\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">rjust</span></code><a class=\"heading-anchor\" href=\"#rjust\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力値を指定した幅のフィールド内で右詰めします。</p>\n<p><strong>引数:</strong> フィールドの幅</p>\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>&quot;<span class=\"cp\">{{</span> <span class=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">rjust</span><span class=\"s2\">:&quot;10&quot;</span> <span class=\"cp\">}}</span>&quot;\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">Django</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;</span>&#160;&#160;&#160; <span class=\"pre\">Django&quot;</span></code> となります。</p>\n</section>\n<section id=\"safe\">\n<span id=\"std-templatefilter-safe\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">safe</span></code><a class=\"heading-anchor\" href=\"#safe\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>文字列に対して、さらなる HTML エスケープが必要でないことをマークするのに使います。 autoescaping がオフの場合、このフィルタは何もしません。</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>フィルタを連鎖させる場合、 <code class=\"docutils literal notranslate\"><span class=\"pre\">safe</span></code> の後に適用されるフィルタはその内容を再び安全でない状態にしてしまうことが可能です。例えば以下のコードは、変数をそのまま、エスケープされない状態で出力します:</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=\"nv\">var</span><span class=\"o\">|</span><span class=\"nf\">safe</span><span class=\"o\">|</span><span class=\"nf\">escape</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n</aside>\n</section>\n<section id=\"safeseq\">\n<span id=\"std-templatefilter-safeseq\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">safeseq</span></code><a class=\"heading-anchor\" href=\"#safeseq\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>シーケンスのそれぞれの要素に対して <a class=\"reference internal\" href=\"#std-templatefilter-safe\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">safe</span></code></a> フィルタを適用します。これは例えば <a class=\"reference internal\" href=\"#std-templatefilter-join\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">join</span></code></a> のような、シーケンスを処理する他のフィルタと組み合わせて使うのが便利です。例を挙げます:</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=\"nv\">some_list</span><span class=\"o\">|</span><span class=\"nf\">safeseq</span><span class=\"o\">|</span><span class=\"nf\">join</span><span class=\"s2\">:&quot;, &quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p>この場合、直接 <a class=\"reference internal\" href=\"#std-templatefilter-safe\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">safe</span></code></a> フィルタを使用すると正しく動作しないかもしれません。シーケンスの個々の要素に対して作用するのではなく、まず変数を文字列に変換して処理するからです。</p>\n</section>\n<section id=\"slice\">\n<span id=\"std-templatefilter-slice\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">slice</span></code><a class=\"heading-anchor\" href=\"#slice\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>リストに対するスライスを返します。</p>\n<p>Python のリストスライスと同じ構文を使います。 <a class=\"reference external\" href=\"https://docs.python.org/3/tutorial/introduction.html#lists\">Python ドキュメント</a> を参照してください。</p>\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=\"nv\">some_list</span><span class=\"o\">|</span><span class=\"nf\">slice</span><span class=\"s2\">:&quot;:2&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">some_list</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">['a',</span> <span class=\"pre\">'b',</span> <span class=\"pre\">'c']</span></code> ならば、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">['a',</span> <span class=\"pre\">'b']</span></code> となります。</p>\n</section>\n<section id=\"slugify\">\n<span id=\"std-templatefilter-slugify\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">slugify</span></code><a class=\"heading-anchor\" href=\"#slugify\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>ASCIIに変換します。スペースをハイフ​​ンに変換します。英数字以外の文字、アンダースコア、ハイフンは削除します。小文字に変換します。また、先頭と末尾の空白を取り除きます。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">slugify</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Joel</span> <span class=\"pre\">is</span> <span class=\"pre\">a</span> <span class=\"pre\">slug&quot;</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;joel-is-a-slug&quot;</span></code> となります。</p>\n</section>\n<section id=\"stringformat\">\n<span id=\"std-templatefilter-stringformat\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">stringformat</span></code><a class=\"heading-anchor\" href=\"#stringformat\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>引数 (表示形式を指定する文字列) に応じて、変数の表示形式を変更します。指定方法には、<a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#old-string-formatting\" title=\"(in Python v3.14)\"><span>printf-style String Formatting</span></a> シンタックスを使います。例外として、最初の ''%'' は無視されます。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">stringformat</span><span class=\"s2\">:&quot;E&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p>たとえば <code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">10</span></code> の場合、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">1.000000E+01</span></code> となります。</p>\n</section>\n<section id=\"striptags\">\n<span id=\"std-templatefilter-striptags\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">striptags</span></code><a class=\"heading-anchor\" href=\"#striptags\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>[X]HTML タグを全てはぎとるようにします。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">striptags</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;&lt;b&gt;Joel&lt;/b&gt;</span> <span class=\"pre\">&lt;button&gt;is&lt;/button&gt;</span> <span class=\"pre\">a</span> <span class=\"pre\">&lt;span&gt;slug&lt;/span&gt;&quot;</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Joel</span> <span class=\"pre\">is</span> <span class=\"pre\">a</span> <span class=\"pre\">slug&quot;</span></code> となります。</p>\n<aside class=\"admonition-no-safety-guarantee admonition\">\n<p class=\"admonition-title\">安全性の保証はありません</p>\n<p>注意してください。 <code class=\"docutils literal notranslate\"><span class=\"pre\">striptags</span></code> の出力は、特に不正な HTML の入力に対しては HTML の安全性を一切保証しません。 <code class=\"docutils literal notranslate\"><span class=\"pre\">striptags</span></code> の出力に <code class=\"docutils literal notranslate\"><span class=\"pre\">safe</span></code> フィルタを適用しては <strong>いけません</strong> 。より堅牢なものを探しているなら、サードパーティ製の HTML サニタイズツールの使用を検討してください。</p>\n</aside>\n</section>\n<section id=\"time\">\n<span id=\"std-templatefilter-time\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">time</span></code><a class=\"heading-anchor\" href=\"#time\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>時刻を指定の書式にしたがってフォーマットします。</p>\n<p>フォーマットは <a class=\"reference internal\" href=\"#std-templatefilter-date\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">date</span></code></a> と同様に、あらかじめ定義された <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-TIME_FORMAT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">TIME_FORMAT</span></code></a> のプリセット、またはカスタムフォーマットを使うこともできます。この定義はロケールに依存することに注意してください。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">time</span><span class=\"s2\">:&quot;H:i&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.datetime.now()</span></code> の値であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;01:23&quot;</span></code> といった文字列になります。</p>\n<p>文字列の中でフォーマット文字を普通の文字として扱いたい場合は、バックスラッシュ文字（ <code class=\"docutils literal notranslate\"><span class=\"pre\">\\</span></code> ）でエスケープします。次の例では、 &quot;h&quot; と &quot;m&quot; をエスケープしています。そうしないと、これらはそれぞれ年と時刻を表示するためのフォーマット文字とみなされるからです:</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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">time</span><span class=\"s2\">:&quot;H\\h i\\m&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p>上記は &quot;01h 23m&quot; と表示されます。</p>\n<p>その他の例:</p>\n<p>たとえば <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-LANGUAGE_CODE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LANGUAGE_CODE</span></code></a> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;de&quot;</span></code> だったとして、：</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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">time</span><span class=\"s2\">:&quot;TIME_FORMAT&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p>このときの出力は、<code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;01:23&quot;</span></code> といった文字列になります (初期状態の Django では、ロケール <code class=\"docutils literal notranslate\"><span class=\"pre\">de</span></code> の <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;TIME_FORMAT&quot;</span></code> には <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;H:i&quot;</span></code> が定義されています) 。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">time</span></code> フィルタは日付ではなく、1 日における時刻に関連するパラメータのみをフォーマット文字列として受け付けます。<code class=\"docutils literal notranslate\"><span class=\"pre\">日付</span></code> のフォーマットを行いたいときは、 <a class=\"reference internal\" href=\"#std-templatefilter-date\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">date</span></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\"><span class=\"pre\">datetime</span></code></a> の値をすべて表示させたい場合は <a class=\"reference internal\" href=\"#std-templatefilter-time\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">time</span></code></a> と一緒に使います)。</p>\n<p>上記のルールにはひとつ例外があります。タイムゾーン情報が付加された <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime</span></code> 値 (<a class=\"reference internal\" href=\"/ja/5.2/topics/i18n/timezones/#naive-vs-aware-datetimes\"><span class=\"std std-ref\">タイムゾーンを意識した aware な</span></a> <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime</span></code> インスタンス) が渡された場合、<code class=\"docutils literal notranslate\"><span class=\"pre\">time</span></code> フィルターはタイムゾーン関連の <a class=\"reference internal\" href=\"#date-and-time-formatting-specifiers\"><span class=\"std std-ref\">フォーマット指定子</span></a> <code class=\"docutils literal notranslate\"><span class=\"pre\">'e'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'O'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'T'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'Z'</span></code> を受け付けます。</p>\n<p>フォーマット文字列なしで使用する場合は、 <code class=\"docutils literal notranslate\"><span class=\"pre\">TIME_FORMAT</span></code> フォーマット指定子が使用されます：</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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">time</span> <span class=\"cp\">}}</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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">time</span><span class=\"s2\">:&quot;TIME_FORMAT&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n</section>\n<section id=\"timesince\">\n<span id=\"std-templatefilter-timesince\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">timesince</span></code><a class=\"heading-anchor\" href=\"#timesince\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>日付を経過時間の形式にフォーマットします (たとえば &quot;4 days, 6 hours&quot;)。</p>\n<p>オプションの引数として、比較対象とする時刻をとります (引数を省略すると <em>現在時刻</em> を使います)。例えば、 <code class=\"docutils literal notranslate\"><span class=\"pre\">blog_date</span></code> が 2006年 6月 1日 を表す日付オブジェクトで、<code class=\"docutils literal notranslate\"><span class=\"pre\">comment_date</span></code> が 2006年 6月 1日 08:00 を表す日時オブジェクトであるとき、以下のコードは &quot;8 hours&quot; を返します：</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=\"nv\">blog_date</span><span class=\"o\">|</span><span class=\"nf\">timesince</span><span class=\"o\">:</span><span class=\"nv\">comment_date</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p>タイムゾーン情報を持たない値（offset-naive）と、タイムゾーン情報つき（offset-aware）の値とを比較した場合は、空の文字列を返します。</p>\n<p>最小単位は &quot;分&quot; です。比較対象からみて未来にある日時に対しては &quot;0 minutes&quot; を返します。</p>\n</section>\n<section id=\"timeuntil\">\n<span id=\"std-templatefilter-timeuntil\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">timeuntil</span></code><a class=\"heading-anchor\" href=\"#timeuntil\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">timesince</span></code> に似ていますが、現在時刻を起点として指定の日付または日時までの時刻を計算します。たとえば今日が2006年6月1日で <code class=\"docutils literal notranslate\"><span class=\"pre\">conference_date</span></code> が 2006年6月29日の値を保持する日付インスタンスだったとすれば、<code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">conference_date|timeuntil</span> <span class=\"pre\">}}</span></code> は &quot;4 weeks&quot; を返します。</p>\n<p>オプションの引数として、 (<em>現在時刻</em> の代わりに) 比較対象として使う時刻をとります。 例えば、 from_date が 2006年 6月 22日 の場合、以下のコードは &quot;1 week&quot; を返します:</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=\"nv\">conference_date</span><span class=\"o\">|</span><span class=\"nf\">timeuntil</span><span class=\"o\">:</span><span class=\"nv\">from_date</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p>タイムゾーン情報を持たない値（offset-naive）と、タイムゾーン情報つき（offset-aware）の値とを比較した場合は、空の文字列を返します。</p>\n<p>最小単位は &quot;分&quot; です。比較対象からみて過去にある日時に対しては “0 minutes” を返します。</p>\n</section>\n<section id=\"title\">\n<span id=\"std-templatefilter-title\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">title</span></code><a class=\"heading-anchor\" href=\"#title\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>文字列中の単語に対して、それぞれ先頭の文字を大文字に、残りを小文字にすることで文字列をタイトルケースに変換します。&quot;主要でない単語&quot; については小文字を維持できないこともあります。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">title</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;my</span> <span class=\"pre\">FIRST</span> <span class=\"pre\">post&quot;</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;My</span> <span class=\"pre\">First</span> <span class=\"pre\">Post&quot;</span></code> となります。</p>\n</section>\n<section id=\"truncatechars\">\n<span id=\"std-templatefilter-truncatechars\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">truncatechars</span></code><a class=\"heading-anchor\" href=\"#truncatechars\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>文字列が指定した文字数より長い場合は切り捨てます。切り捨てられた文字列の末尾は、翻訳可能な省略記号 (&quot;...&quot;) になります。</p>\n<p><strong>引数:</strong> 切り詰める文字数</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">truncatechars</span><span class=\"o\">:</span><span class=\"m\">7</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Joel</span> <span class=\"pre\">is</span> <span class=\"pre\">a</span> <span class=\"pre\">slug&quot;</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Joel</span> <span class=\"pre\">i…&quot;</span></code> となります。</p>\n</section>\n<section id=\"truncatechars-html\">\n<span id=\"std-templatefilter-truncatechars_html\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">truncatechars_html</span></code><a class=\"heading-anchor\" href=\"#truncatechars-html\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><a class=\"reference internal\" href=\"#std-templatefilter-truncatechars\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">truncatechars</span></code></a> に似ていますが、 HTML タグを認識します。切り詰めを行う時点で閉じていないタグがあれば、切り詰めた文字の直後に全て閉じます。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">truncatechars_html</span><span class=\"o\">:</span><span class=\"m\">7</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;&lt;p&gt;Joel</span> <span class=\"pre\">is</span> <span class=\"pre\">a</span> <span class=\"pre\">slug&lt;/p&gt;&quot;</span></code> の場合、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;&lt;p&gt;Joel</span> <span class=\"pre\">i…&lt;/p&gt;&quot;</span></code> となります。</p>\n<p>HTML コンテンツ内の改行は保持されます。</p>\n<aside class=\"admonition-size-of-input-string admonition\">\n<p class=\"admonition-title\">入力文字列のサイズ</p>\n<p>Processing large, potentially malformed HTML strings can be\nresource-intensive and impact service performance.</p>\n</aside>\n<aside class=\"version-note version-changed\" data-version=\"5.1\">\n<p class=\"version-note-title\">Changed in Django 5.1</p><p>The input limit of five million characters was removed.</p>\n</aside>\n</section>\n<section id=\"truncatewords\">\n<span id=\"std-templatefilter-truncatewords\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">truncatewords</span></code><a class=\"heading-anchor\" href=\"#truncatewords\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>文字列を指定された単語数以内に切り詰めます。</p>\n<p><strong>引数:</strong> 切り詰めた後の単語数</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">truncatewords</span><span class=\"o\">:</span><span class=\"m\">2</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Joel</span> <span class=\"pre\">is</span> <span class=\"pre\">a</span> <span class=\"pre\">slug&quot;</span></code> の場合、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Joel</span> <span class=\"pre\">is</span> <span class=\"pre\">…&quot;</span></code> になります。</p>\n<p>文字列中の改行は取り除かれます。</p>\n</section>\n<section id=\"truncatewords-html\">\n<span id=\"std-templatefilter-truncatewords_html\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">truncatewords_html</span></code><a class=\"heading-anchor\" href=\"#truncatewords-html\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><a class=\"reference internal\" href=\"#std-templatefilter-truncatewords\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">truncatewords</span></code></a> に似ていますが、 HTML タグを認識します。切り詰めを行う時点で閉じていないタグがあれば、切り詰めた文字の直後に全て閉じます。</p>\n<p>このタグの処理は <a class=\"reference internal\" href=\"#std-templatefilter-truncatewords\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">truncatewords</span></code></a> よりも効率が悪いため、 HTML テキストを 渡す場合にだけ使うようにしてください。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">truncatewords_html</span><span class=\"o\">:</span><span class=\"m\">2</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;&lt;p&gt;Joel</span> <span class=\"pre\">is</span> <span class=\"pre\">a</span> <span class=\"pre\">slug&lt;/p&gt;&quot;</span></code> の場合、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;&lt;p&gt;Joel</span> <span class=\"pre\">is</span> <span class=\"pre\">…&lt;/p&gt;&quot;</span></code> となります。</p>\n<p>HTML コンテンツ内の改行は保持されます。</p>\n<aside class=\"admonition-size-of-input-string admonition\">\n<p class=\"admonition-title\">入力文字列のサイズ</p>\n<p>Processing large, potentially malformed HTML strings can be\nresource-intensive and impact service performance.</p>\n</aside>\n<aside class=\"version-note version-changed\" data-version=\"5.1\">\n<p class=\"version-note-title\">Changed in Django 5.1</p><p>The input limit of five million characters was removed.</p>\n</aside>\n</section>\n<section id=\"unordered-list\">\n<span id=\"std-templatefilter-unordered_list\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">unordered_list</span></code><a class=\"heading-anchor\" href=\"#unordered-list\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>再帰的に入れ子になったリストを入力として、 HTML の順序なしリスト (UL, unordered list) に変換します。ただし先頭と末尾の <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;ul&gt;</span></code> タグは表示しません。</p>\n<p>リストは適切な形式になっているものとみなします。例えば、<code class=\"docutils literal notranslate\"><span class=\"pre\">var</span></code> の内容が <code class=\"docutils literal notranslate\"><span class=\"pre\">['States',</span> <span class=\"pre\">['Kansas',</span> <span class=\"pre\">['Lawrence',</span> <span class=\"pre\">'Topeka'],</span> <span class=\"pre\">'Illinois']]</span></code> の場合、 <code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">var|unordered_list</span> <span class=\"pre\">}}</span></code> は以下のようになります:</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=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>States\n<span class=\"p\">&lt;</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>Kansas\n        <span class=\"p\">&lt;</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n                <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>Lawrence<span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n                <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>Topeka<span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n        <span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n        <span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>Illinois<span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"upper\">\n<span id=\"std-templatefilter-upper\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">upper</span></code><a class=\"heading-anchor\" href=\"#upper\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力値をすべて大文字に変換します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">upper</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Joel</span> <span class=\"pre\">is</span> <span class=\"pre\">a</span> <span class=\"pre\">slug&quot;</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;JOEL</span> <span class=\"pre\">IS</span> <span class=\"pre\">A</span> <span class=\"pre\">SLUG&quot;</span></code> となります。</p>\n</section>\n<section id=\"urlencode\">\n<span id=\"std-templatefilter-urlencode\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">urlencode</span></code><a class=\"heading-anchor\" href=\"#urlencode\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力値を URL で使えるようにエスケープします。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">urlencode</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;https://www.example.org/foo?a=b&amp;c=d&quot;</span></code> のとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;https%3A//www.example.org/foo%3Fa%3Db%26c%3Dd&quot;</span></code> となります。</p>\n<p>オプションの引数で、エスケープさせない文字を指定できます。</p>\n<p>特に指定しなくても '/' の文字はエスケープされません。オプションで空の文字列が指定された場合は、<em>すべての</em> 文字がエスケープされます。例を挙げます:</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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">urlencode</span><span class=\"s2\">:&quot;&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p>ここで <code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;https://www.example.org/&quot;</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;https%3A%2F%2Fwww.example.org%2F&quot;</span></code> となります。</p>\n</section>\n<section id=\"urlize\">\n<span id=\"std-templatefilter-urlize\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">urlize</span></code><a class=\"heading-anchor\" href=\"#urlize\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>テキスト内の URL と Email アドレスをクリック可能なリンクに変換します。</p>\n<p>このテンプレートタグは、<code class=\"docutils literal notranslate\"><span class=\"pre\">http://</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">https://</span></code>、または <code class=\"docutils literal notranslate\"><span class=\"pre\">www.</span></code> で始まるリンクに対して動作します。例えば、<code class=\"docutils literal notranslate\"><span class=\"pre\">https://djangocon.eu</span></code> は変換されますが、 <code class=\"docutils literal notranslate\"><span class=\"pre\">djangocon.eu</span></code> は変換されません。</p>\n<p>末尾が <code class=\"docutils literal notranslate\"><span class=\"pre\">.com</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">.edu</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">.gov</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">.int</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">.mil</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">.net</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">.org</span></code> である場合は、ドメイン名のみのリンクもサポートします。たとえば <code class=\"docutils literal notranslate\"><span class=\"pre\">djangoproject.com</span></code> は変換されます。</p>\n<p>リンクの末尾に句読点（ピリオド、カンマ、閉じ括弧）や先頭に句読点（開き括弧）があっても、 <code class=\"docutils literal notranslate\"><span class=\"pre\">urlize</span></code> は正しく処理します。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">urlize</span></code> が生成したリンクにはアトリビュート <code class=\"docutils literal notranslate\"><span class=\"pre\">rel=&quot;nofollow&quot;</span></code> が加えられています。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">urlize</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Check</span> <span class=\"pre\">out</span> <span class=\"pre\">www.djangoproject.com&quot;</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Check</span> <span class=\"pre\">out</span> <span class=\"pre\">&lt;a</span> <span class=\"pre\">href=&quot;http://www.djangoproject.com&quot;</span> <span class=\"pre\">rel=&quot;nofollow&quot;&gt;www.djangoproject.com&lt;/a&gt;&quot;</span></code> となります。</p>\n<p>ウェブリンクに加えて、 <code class=\"docutils literal notranslate\"><span class=\"pre\">urlize</span></code> は email アドレスも <code class=\"docutils literal notranslate\"><span class=\"pre\">mailto:</span></code> リンクに変換できます。<code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Send</span> <span class=\"pre\">questions</span> <span class=\"pre\">to</span> <span class=\"pre\">foo&#64;example.com&quot;</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Send</span> <span class=\"pre\">questions</span> <span class=\"pre\">to</span> <span class=\"pre\">&lt;a</span> <span class=\"pre\">href=&quot;mailto:foo&#64;example.com&quot;&gt;foo&#64;example.com&lt;/a&gt;&quot;</span></code> となります。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">urlize</span></code> フィルタはオプションの引数 <code class=\"docutils literal notranslate\"><span class=\"pre\">autoescape</span></code> をとることができます。<code class=\"docutils literal notranslate\"><span class=\"pre\">autoescape</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> のとき、リンクテキストと URL は Django の組み込みフィルタ <a class=\"reference internal\" href=\"#std-templatefilter-escape\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">escape</span></code></a> でエスケープされます。指定しない場合の <code class=\"docutils literal notranslate\"><span class=\"pre\">autoescape</span></code> の値は <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> です。</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>もし <code class=\"docutils literal notranslate\"><span class=\"pre\">urlize</span></code> をすでに HTML マークアップを含むテキストに適用したり、シングルクォート(<code class=\"docutils literal notranslate\"><span class=\"pre\">'</span></code>)を含むメールアドレスに適用したりすると、期待通りに動作しません。このフィルタはプレーンテキストにだけ適用してください。</p>\n</aside>\n</section>\n<section id=\"urlizetrunc\">\n<span id=\"std-templatefilter-urlizetrunc\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">urlizetrunc</span></code><a class=\"heading-anchor\" href=\"#urlizetrunc\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><a class=\"reference internal\" href=\"#urlize\">urlize</a> と同じように、URL と　email アドレスをクリック可能なリンクに変換します。ただし、指定の文字数以上の表示を切り詰めます。</p>\n<p><strong>引数:</strong> URL を切り詰める長さ。省略記号の長さを含みます。省略記号は省略が必要な場合につけられます。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">urlizetrunc</span><span class=\"o\">:</span><span class=\"m\">15</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Check</span> <span class=\"pre\">out</span> <span class=\"pre\">www.djangoproject.com&quot;</span></code> であるとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">'Check</span> <span class=\"pre\">out</span> <span class=\"pre\">&lt;a</span> <span class=\"pre\">href=&quot;http://www.djangoproject.com&quot;</span> <span class=\"pre\">rel=&quot;nofollow&quot;&gt;www.djangoproj…&lt;/a&gt;'</span></code> となります。</p>\n<p><a class=\"reference internal\" href=\"#urlize\">urlize</a> と同じく、このフィルタはプレーンテキストに対してだけ使ってください。</p>\n</section>\n<section id=\"wordcount\">\n<span id=\"std-templatefilter-wordcount\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">wordcount</span></code><a class=\"heading-anchor\" href=\"#wordcount\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>ワード数を返します。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">wordcount</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Joel</span> <span class=\"pre\">is</span> <span class=\"pre\">a</span> <span class=\"pre\">slug&quot;</span></code> のとき、出力は <code class=\"docutils literal notranslate\"><span class=\"pre\">4</span></code> です。</p>\n</section>\n<section id=\"wordwrap\">\n<span id=\"std-templatefilter-wordwrap\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">wordwrap</span></code><a class=\"heading-anchor\" href=\"#wordwrap\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>指定した行幅でワードラップします。</p>\n<p><strong>引数:</strong> テキストをラップするまでのワード数</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">wordwrap</span><span class=\"o\">:</span><span class=\"m\">5</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">Joel</span> <span class=\"pre\">is</span> <span class=\"pre\">a</span> <span class=\"pre\">slug</span></code> の場合、出力は以下のようになります:</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>Joel\nis a\nslug\n</code></pre></div>\n</section>\n<section id=\"yesno\">\n<span id=\"std-templatefilter-yesno\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">yesno</span></code><a class=\"heading-anchor\" href=\"#yesno\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>入力値 ( &quot;True&quot; 、 &quot;False&quot; 、オプションで &quot;None&quot; ) に対応する文字列を返します。対応する文字列はデフォルトでは &quot;yes&quot;、&quot;no&quot;、&quot;maybe&quot; です。またコンマ区切りの文字列を引数として与えることでカスタムマッピングを指定できます。</p>\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=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">yesno</span><span class=\"s2\">:&quot;yeah,no,maybe&quot;</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>値</p></th>\n<th class=\"head\"><p>引数</p></th>\n<th class=\"head\"><p>出力</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code></p></td>\n<td></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">yes</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;yeah,no,maybe&quot;</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">yeah</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;yeah,no,maybe&quot;</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">no</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;yeah,no,maybe&quot;</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">maybe</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;yeah,no&quot;</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">no</span></code> (<code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> に対応する値がない場合は <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> の値が使われます)</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n</section>\n<section id=\"internationalization-tags-and-filters\">\n<h2>国際化タグとフィルタ<a class=\"heading-anchor\" href=\"#internationalization-tags-and-filters\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django はテンプレートの <a class=\"reference internal\" href=\"/ja/5.2/topics/i18n/\"><span class=\"doc\">国際化</span></a> をそれぞれの角度から制御するタグやフィルタを提供し、翻訳、書式設定、およびタイムゾーン変換のきめ細かい制御を可能にしています。</p>\n<section id=\"i18n\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">i18n</span></code><a class=\"heading-anchor\" href=\"#i18n\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>このライブラリは、テンプレート内の飜訳可能なテキストを指定できます。これを有効化するには <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-USE_I18N\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">USE_I18N</span></code></a> を <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> に設定し、 <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">load</span> <span class=\"pre\">i18n</span> <span class=\"pre\">%}</span></code> でロードします。</p>\n<p><a class=\"reference internal\" href=\"/ja/5.2/topics/i18n/translation/#specifying-translation-strings-in-template-code\"><span class=\"std std-ref\">国際化: テンプレート内</span></a> も参照してください。</p>\n</section>\n<section id=\"l10n\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">l10n</span></code><a class=\"heading-anchor\" href=\"#l10n\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>このライブラリはテンプレート内の値のローカライズを制御します。このライブラリは <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">load</span> <span class=\"pre\">l10n</span> <span class=\"pre\">%}</span></code> を使って読み込むだけです。</p>\n<p><a class=\"reference internal\" href=\"/ja/5.2/topics/i18n/formatting/#topic-l10n-templates\"><span class=\"std std-ref\">テンプレート内でローカライズをコントロールする</span></a> も参照してください。</p>\n</section>\n<section id=\"tz\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">tz</span></code><a class=\"heading-anchor\" href=\"#tz\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>このライブラリは、テンプレートのタイムゾーン変換を制御します。 <code class=\"docutils literal notranslate\"><span class=\"pre\">l10n</span></code> と同じく、必要なのは <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">load</span> <span class=\"pre\">tz</span> <span class=\"pre\">%}</span></code> を使ってライブラリをロードするだけですが、通常はデフォルトでローカル時間に変換されるよう、 <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-USE_TZ\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">USE_TZ</span></code></a> を <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> に設定するでしょう。</p>\n<p><a class=\"reference internal\" href=\"/ja/5.2/topics/i18n/timezones/#time-zones-in-templates\"><span class=\"std std-ref\">テンプレートでのタイムゾーン aware な出力</span></a> も参照してください。</p>\n</section>\n</section>\n<section id=\"other-tags-and-filters-libraries\">\n<h2>その他のタグとフィルタライブラリ<a class=\"heading-anchor\" href=\"#other-tags-and-filters-libraries\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>この他にも、Django にはいくつかのテンプレートタグ・ライブラリがあります。これらのライブラリは <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a> 設定で明示的に有効化したうえ、 <a class=\"reference internal\" href=\"#std-templatetag-load\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">load</span> <span class=\"pre\">%}</span></code></a> タグを使ってテンプレート上にロードする必要があります。</p>\n<section id=\"django-contrib-humanize\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.humanize</span></code><a class=\"heading-anchor\" href=\"#django-contrib-humanize\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>データを「ヒトにやさしい」表現にする上で便利な Django テンプレートフィルタのセットです。くわしくは <a class=\"reference internal\" href=\"/ja/5.2/ref/contrib/humanize/\"><span class=\"doc\">django.contrib.humanize</span></a> を参照してください。</p>\n</section>\n<section id=\"static\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">static</span></code><a class=\"heading-anchor\" href=\"#static\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"std-templatetag-static\">\n<span id=\"id7\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">static</span></code><a class=\"heading-anchor\" href=\"#std-templatetag-static\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p><a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_ROOT</span></code></a> に保存されている静的ファイルにリンクするために、 Django には <a class=\"reference internal\" href=\"#std-templatetag-static\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">static</span></code></a> テンプレートタグが同梱されています。 <a class=\"reference internal\" href=\"/ja/5.2/ref/contrib/staticfiles/#module-django.contrib.staticfiles\" title=\"django.contrib.staticfiles: An app for handling static files.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles</span></code></a> アプリケーションがインストールされていれば、このタグは <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STORAGES</span></code></a> で <code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> で指定されたストレージの <code class=\"docutils literal notranslate\"><span class=\"pre\">url()</span></code> メソッドを使ってファイルを配信します。たとえば以下のようにします：</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\">load</span> <span class=\"nv\">static</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">img</span> <span class=\"na\">src</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">static</span> <span class=\"s1\">&#39;images/hi.jpg&#39;</span> <span class=\"cp\">%}</span><span class=\"s\">&quot;</span> <span class=\"na\">alt</span><span class=\"o\">=</span><span class=\"s\">&quot;Hi!&quot;</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>普通のコンテキスト変数を使うこともできます。例えば <code class=\"docutils literal notranslate\"><span class=\"pre\">user_stylesheet</span></code> 変数をテンプレートに渡す場合は、以下のようにします:</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\">load</span> <span class=\"nv\">static</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">link</span> <span class=\"na\">rel</span><span class=\"o\">=</span><span class=\"s\">&quot;stylesheet&quot;</span> <span class=\"na\">href</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">static</span> <span class=\"nv\">user_stylesheet</span> <span class=\"cp\">%}</span><span class=\"s\">&quot;</span> <span class=\"na\">media</span><span class=\"o\">=</span><span class=\"s\">&quot;screen&quot;</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>静的 URL を表示することなく取得したい場合は、少し異なる呼び出し方法になります：</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\">load</span> <span class=\"nv\">static</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">static</span> <span class=\"s2\">&quot;images/hi.jpg&quot;</span> <span class=\"k\">as</span> <span class=\"nv\">myphoto</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">img</span> <span class=\"na\">src</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{{</span> <span class=\"nv\">myphoto</span> <span class=\"cp\">}}</span><span class=\"s\">&quot;</span> <span class=\"na\">alt</span><span class=\"o\">=</span><span class=\"s\">&quot;Hi!&quot;</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<aside class=\"admonition-using-jinja2-templates admonition\">\n<p class=\"admonition-title\">Jinja2 テンプレートを使いますか？</p>\n<p>Jinja2 で <code class=\"docutils literal notranslate\"><span class=\"pre\">static</span></code> タグを使う方法については <a class=\"reference internal\" href=\"/ja/5.2/topics/templates/#django.template.backends.jinja2.Jinja2\" title=\"django.template.backends.jinja2.Jinja2\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Jinja2</span></code></a> を参照してください。</p>\n</aside>\n</section>\n<section id=\"get-static-prefix\">\n<span id=\"std-templatetag-get_static_prefix\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">get_static_prefix</span></code><a class=\"heading-anchor\" href=\"#get-static-prefix\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>通常は <a class=\"reference internal\" href=\"#std-templatetag-static\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">static</span></code></a> テンプレートタグの使用を推奨しますが、 <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a> がテンプレートに挿入される場所と方法をより厳密に制御する必要がある場合は、 <a class=\"reference internal\" href=\"#std-templatetag-get_static_prefix\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">get_static_prefix</span></code></a> テンプレートタグが使用できます：</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\">load</span> <span class=\"nv\">static</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">img</span> <span class=\"na\">src</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">get_static_prefix</span> <span class=\"cp\">%}</span><span class=\"s\">images/hi.jpg&quot;</span> <span class=\"na\">alt</span><span class=\"o\">=</span><span class=\"s\">&quot;Hi!&quot;</span><span class=\"p\">&gt;</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\">load</span> <span class=\"nv\">static</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">get_static_prefix</span> <span class=\"k\">as</span> <span class=\"nv\">STATIC_PREFIX</span> <span class=\"cp\">%}</span>\n\n<span class=\"p\">&lt;</span><span class=\"nt\">img</span> <span class=\"na\">src</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{{</span> <span class=\"nv\">STATIC_PREFIX</span> <span class=\"cp\">}}</span><span class=\"s\">images/hi.jpg&quot;</span> <span class=\"na\">alt</span><span class=\"o\">=</span><span class=\"s\">&quot;Hi!&quot;</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">img</span> <span class=\"na\">src</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{{</span> <span class=\"nv\">STATIC_PREFIX</span> <span class=\"cp\">}}</span><span class=\"s\">images/hi2.jpg&quot;</span> <span class=\"na\">alt</span><span class=\"o\">=</span><span class=\"s\">&quot;Hello!&quot;</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"get-media-prefix\">\n<span id=\"std-templatetag-get_media_prefix\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">get_media_prefix</span></code><a class=\"heading-anchor\" href=\"#get-media-prefix\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p><a class=\"reference internal\" href=\"#std-templatetag-get_static_prefix\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">get_static_prefix</span></code></a> と同じように、<code class=\"docutils literal notranslate\"><span class=\"pre\">get_media_prefix</span></code> はテンプレート変数に <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_URL</span></code></a> のメディア・プレフィックスを加えます。たとえば:</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\">load</span> <span class=\"nv\">static</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">body</span> <span class=\"na\">data-media-url</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">get_media_prefix</span> <span class=\"cp\">%}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>値をデータ属性に格納することで、JavaScriptのコンテキストで使用する場合に適切にエスケープされるようになります。</p>\n</section>\n</section>\n</section>","rootId":"built-in-template-tags-and-filters","toc":[{"title":"組み込みタグリファレンス","anchor":"built-in-tag-reference","children":[{"title":"autoescape","anchor":"autoescape","children":[]},{"title":"block","anchor":"block","children":[]},{"title":"comment","anchor":"comment","children":[]},{"title":"csrf_token","anchor":"csrf-token","children":[]},{"title":"cycle","anchor":"cycle","children":[]},{"title":"debug","anchor":"debug","children":[]},{"title":"extends","anchor":"extends","children":[]},{"title":"filter","anchor":"filter","children":[]},{"title":"firstof","anchor":"firstof","children":[]},{"title":"for","anchor":"for","children":[]},{"title":"for ... empty","anchor":"for-empty","children":[]},{"title":"if","anchor":"if","children":[{"title":"論理演算子","anchor":"boolean-operators","children":[{"title":"== 演算子","anchor":"operator","children":[]},{"title":"!= 演算子","anchor":"id1","children":[]},{"title":"< 演算子","anchor":"id2","children":[]},{"title":"> 演算子","anchor":"id3","children":[]},{"title":"<= 演算子","anchor":"id4","children":[]},{"title":">= 演算子","anchor":"id5","children":[]},{"title":"in 演算子","anchor":"in-operator","children":[]},{"title":"not in 演算子","anchor":"not-in-operator","children":[]},{"title":"is 演算子","anchor":"is-operator","children":[]},{"title":"is not 演算子","anchor":"is-not-operator","children":[]}]},{"title":"フィルタ","anchor":"filters","children":[]},{"title":"複雑な表現","anchor":"complex-expressions","children":[]}]},{"title":"ifchanged","anchor":"ifchanged","children":[]},{"title":"include","anchor":"include","children":[]},{"title":"load","anchor":"load","children":[]},{"title":"lorem","anchor":"lorem","children":[]},{"title":"now","anchor":"now","children":[]},{"title":"querystring","anchor":"querystring","children":[{"title":"基本的な使用法","anchor":"basic-usage","children":[]},{"title":"独自の QueryDict","anchor":"custom-querydict","children":[]},{"title":"アイテムをセットする","anchor":"setting-items","children":[]},{"title":"アイテムを削除する","anchor":"removing-items","children":[]},{"title":"リストを扱う","anchor":"handling-lists","children":[]},{"title":"動的な使用方法","anchor":"dynamic-usage","children":[]}]},{"title":"regroup","anchor":"regroup","children":[{"title":"その他の属性によるグループ化","anchor":"grouping-on-other-properties","children":[]}]},{"title":"resetcycle","anchor":"resetcycle","children":[]},{"title":"spaceless","anchor":"spaceless","children":[]},{"title":"templatetag","anchor":"templatetag","children":[]},{"title":"url","anchor":"url","children":[]},{"title":"verbatim","anchor":"verbatim","children":[]},{"title":"widthratio","anchor":"widthratio","children":[]},{"title":"with","anchor":"with","children":[]}]},{"title":"組み込みフィルタリファレンス","anchor":"built-in-filter-reference","children":[{"title":"add","anchor":"add","children":[]},{"title":"addslashes","anchor":"addslashes","children":[]},{"title":"capfirst","anchor":"capfirst","children":[]},{"title":"center","anchor":"center","children":[]},{"title":"cut","anchor":"cut","children":[]},{"title":"date","anchor":"date","children":[]},{"title":"default","anchor":"default","children":[]},{"title":"default_if_none","anchor":"default-if-none","children":[]},{"title":"dictsort","anchor":"dictsort","children":[]},{"title":"dictsortreversed","anchor":"dictsortreversed","children":[]},{"title":"divisibleby","anchor":"divisibleby","children":[]},{"title":"escape","anchor":"escape","children":[]},{"title":"escapejs","anchor":"escapejs","children":[]},{"title":"escapeseq","anchor":"escapeseq","children":[]},{"title":"filesizeformat","anchor":"filesizeformat","children":[]},{"title":"first","anchor":"first","children":[]},{"title":"floatformat","anchor":"floatformat","children":[]},{"title":"force_escape","anchor":"force-escape","children":[]},{"title":"get_digit","anchor":"get-digit","children":[]},{"title":"iriencode","anchor":"iriencode","children":[]},{"title":"join","anchor":"join","children":[]},{"title":"json_script","anchor":"json-script","children":[]},{"title":"last","anchor":"last","children":[]},{"title":"length","anchor":"length","children":[]},{"title":"linebreaks","anchor":"linebreaks","children":[]},{"title":"linebreaksbr","anchor":"linebreaksbr","children":[]},{"title":"linenumbers","anchor":"linenumbers","children":[]},{"title":"ljust","anchor":"ljust","children":[]},{"title":"lower","anchor":"lower","children":[]},{"title":"make_list","anchor":"make-list","children":[]},{"title":"phone2numeric","anchor":"phone2numeric","children":[]},{"title":"pluralize","anchor":"pluralize","children":[]},{"title":"pprint","anchor":"pprint","children":[]},{"title":"random","anchor":"random","children":[]},{"title":"rjust","anchor":"rjust","children":[]},{"title":"safe","anchor":"safe","children":[]},{"title":"safeseq","anchor":"safeseq","children":[]},{"title":"slice","anchor":"slice","children":[]},{"title":"slugify","anchor":"slugify","children":[]},{"title":"stringformat","anchor":"stringformat","children":[]},{"title":"striptags","anchor":"striptags","children":[]},{"title":"time","anchor":"time","children":[]},{"title":"timesince","anchor":"timesince","children":[]},{"title":"timeuntil","anchor":"timeuntil","children":[]},{"title":"title","anchor":"title","children":[]},{"title":"truncatechars","anchor":"truncatechars","children":[]},{"title":"truncatechars_html","anchor":"truncatechars-html","children":[]},{"title":"truncatewords","anchor":"truncatewords","children":[]},{"title":"truncatewords_html","anchor":"truncatewords-html","children":[]},{"title":"unordered_list","anchor":"unordered-list","children":[]},{"title":"upper","anchor":"upper","children":[]},{"title":"urlencode","anchor":"urlencode","children":[]},{"title":"urlize","anchor":"urlize","children":[]},{"title":"urlizetrunc","anchor":"urlizetrunc","children":[]},{"title":"wordcount","anchor":"wordcount","children":[]},{"title":"wordwrap","anchor":"wordwrap","children":[]},{"title":"yesno","anchor":"yesno","children":[]}]},{"title":"国際化タグとフィルタ","anchor":"internationalization-tags-and-filters","children":[{"title":"i18n","anchor":"i18n","children":[]},{"title":"l10n","anchor":"l10n","children":[]},{"title":"tz","anchor":"tz","children":[]}]},{"title":"その他のタグとフィルタライブラリ","anchor":"other-tags-and-filters-libraries","children":[{"title":"django.contrib.humanize","anchor":"django-contrib-humanize","children":[]},{"title":"static","anchor":"static","children":[{"title":"static","anchor":"std-templatetag-static","children":[]},{"title":"get_static_prefix","anchor":"get-static-prefix","children":[]},{"title":"get_media_prefix","anchor":"get-media-prefix","children":[]}]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API リファレンス","url":"/ja/5.2/ref/"},{"docname":"ref/templates/index","title":"テンプレート","url":"/ja/5.2/ref/templates/"}],"prev":{"docname":"ref/templates/language","title":"Django テンプレート言語","url":"/ja/5.2/ref/templates/language/"},"next":{"docname":"ref/templates/api","title":"Python プログラマーのための Django テンプレート言語","url":"/ja/5.2/ref/templates/api/"},"formats":{"html":"/ja/5.2/ref/templates/builtins/","markdown":"/ja/5.2/ref/templates/builtins.md","json":"/ja/5.2/ref/templates/builtins.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/ref/templates/builtins.txt","official":"https://docs.djangoproject.com/ja/5.2/ref/templates/builtins/","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"]}