{"title":"フォームレンダリング API","version":"5.1","locale":"ja","docname":"ref/forms/renderers","url":"/ja/5.1/ref/forms/renderers/","canonical":"https://djangodocs.dev/ja/5.1/ref/forms/renderers/","summary":"Djangoのフォームウィジェットは、Djangoのテンプレートエンジンシステムを使用してレンダリングされます。","html":"<span id=\"the-form-rendering-api\"></span><h1>フォームレンダリング API<a class=\"heading-anchor\" href=\"#module-django.forms.renderers\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Djangoのフォームウィジェットは、Djangoの <a class=\"reference internal\" href=\"/ja/5.1/topics/templates/\"><span class=\"doc\">テンプレートエンジンシステム</span></a> を使用してレンダリングされます。</p>\n<p>フォームのレンダリングプロセスは、いくつかのレベルでカスタマイズできます:</p>\n<ul class=\"simple\">\n<li><p>ウィジェットはカスタムテンプレート名を指定できます。</p></li>\n<li><p>フォームとウィジェットは、カスタムレンダラークラスを指定できます。</p></li>\n<li><p>ウィジェットのテンプレートはプロジェクトによって上書きできます。(再利用可能なアプリケーションは通常、組込みテンプレートを上書きすべきではありません。なぜなら、それがプロジェクトのカスタムテンプレートと競合する可能性があるからです。)</p></li>\n</ul>\n<section id=\"the-low-level-render-api\">\n<span id=\"low-level-widget-render-api\"></span><h2>低レベルのレンダリングAPI<a class=\"heading-anchor\" href=\"#the-low-level-render-api\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>フォームテンプレートのレンダリングは、カスタマイズ可能なレンダラークラスによって制御されます。カスタムレンダラーは、<a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-FORM_RENDERER\"><code class=\"xref std std-setting docutils literal notranslate\">FORM_RENDERER</code></a> 設定を更新することによって指定できます。デフォルトでは <code class=\"docutils literal notranslate\">'</code><a class=\"reference internal\" href=\"#django.forms.renderers.DjangoTemplates\" title=\"django.forms.renderers.DjangoTemplates\"><code class=\"xref py py-class docutils literal notranslate\">django.forms.renderers.DjangoTemplates</code></a><code class=\"docutils literal notranslate\">'</code> になっています。</p>\n<p>カスタムフォームレンダラーを指定し、<a class=\"reference internal\" href=\"#django.forms.renderers.BaseRenderer.form_template_name\" title=\"django.forms.renderers.BaseRenderer.form_template_name\"><code class=\"xref py py-attr docutils literal notranslate\">form_template_name</code></a> をオーバーライドすることで、プロジェクト全体のデフォルトフォームマークアップを一か所から調整できます。</p>\n<p><a class=\"reference internal\" href=\"/ja/5.1/ref/forms/api/#django.forms.Form.default_renderer\" title=\"django.forms.Form.default_renderer\"><code class=\"xref py py-attr docutils literal notranslate\">Form.default_renderer</code></a> 属性を設定するか、または <a class=\"reference internal\" href=\"/ja/5.1/ref/forms/api/#django.forms.Form.render\" title=\"django.forms.Form.render\"><code class=\"xref py py-meth docutils literal notranslate\">Form.render()</code></a> や <a class=\"reference internal\" href=\"/ja/5.1/ref/forms/widgets/#django.forms.Widget.render\" title=\"django.forms.Widget.render\"><code class=\"xref py py-meth docutils literal notranslate\">Widget.render()</code></a> のメソッドの <code class=\"docutils literal notranslate\">renderer</code> 引数を使用することで、フォームごとやウィジェットごとにカスタムレンダラーを提供することもできます。</p>\n<p>マッチングポイントは、formset のレンダリングに適用されます。詳細は、<a class=\"reference internal\" href=\"/ja/5.1/topics/forms/formsets/#formset-rendering\"><span class=\"std std-ref\">ビューとテンプレートでフォームセットを使う</span></a> を参照してください。</p>\n<p><a class=\"reference internal\" href=\"#built-in-template-form-renderers\"><span class=\"std std-ref\">組み込みのテンプレートフォームレンダラ</span></a> のいずれかを使用するか、独自のものを実装してください。カスタムレンダラは、<code class=\"docutils literal notranslate\">render(template_name, context, request=None)</code> メソッドを実装する必要があります。レンダリングされたテンプレート(文字列として)を返すか、 <a class=\"reference internal\" href=\"/ja/5.1/topics/templates/#django.template.TemplateDoesNotExist\" title=\"django.template.TemplateDoesNotExist\"><code class=\"xref py py-exc docutils literal notranslate\">TemplateDoesNotExist</code></a> を発生させるべきです。</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.renderers.BaseRenderer\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">BaseRenderer</span><a class=\"heading-anchor\" href=\"#django.forms.renderers.BaseRenderer\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>組み込みフォームレンダラーの基底クラスです。</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.renderers.BaseRenderer.form_template_name\">\n<span class=\"sig-name descname\">form_template_name</span><a class=\"heading-anchor\" href=\"#django.forms.renderers.BaseRenderer.form_template_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フォームをレンダリングするために使用するテンプレートのデフォルト名です。</p>\n<p>デフォルトは <code class=\"docutils literal notranslate\">&quot;django/forms/div.html&quot;</code> テンプレートです。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.renderers.BaseRenderer.formset_template_name\">\n<span class=\"sig-name descname\">formset_template_name</span><a class=\"heading-anchor\" href=\"#django.forms.renderers.BaseRenderer.formset_template_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フォームセットをレンダリングするために使用するテンプレートのデフォルト名。</p>\n<p>デフォルトは <code class=\"docutils literal notranslate\">&quot;django/forms/formsets/div.html&quot;</code> テンプレートです。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.renderers.BaseRenderer.field_template_name\">\n<span class=\"sig-name descname\">field_template_name</span><a class=\"heading-anchor\" href=\"#django.forms.renderers.BaseRenderer.field_template_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><aside class=\"version-note version-added\" data-version=\"5.0\" role=\"note\">\n<p class=\"version-note-title\">New in Django 5.0</p></aside>\n<p><code class=\"docutils literal notranslate\">BoundField</code> をレンダリングするために使用されるテンプレートのデフォルト名。</p>\n<p>デフォルトは <code class=\"docutils literal notranslate\">&quot;django/forms/field.html&quot;</code> です。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.renderers.BaseRenderer.get_template\">\n<span class=\"sig-name descname\">get_template</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">template_name</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.renderers.BaseRenderer.get_template\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>サブクラスは、適切なテンプレート検索ロジックを持つようにこのメソッドを実装しなければなりません。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.renderers.BaseRenderer.render\">\n<span class=\"sig-name descname\">render</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">template_name</em>, <em class=\"sig-param\">context</em>, <em class=\"sig-param\">request<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.renderers.BaseRenderer.render\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>指定されたテンプレートをレンダリングします。存在しない場合は、 <a class=\"reference internal\" href=\"/ja/5.1/topics/templates/#django.template.TemplateDoesNotExist\" title=\"django.template.TemplateDoesNotExist\"><code class=\"xref py py-exc docutils literal notranslate\">TemplateDoesNotExist</code></a> を発生させます。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"built-in-template-form-renderers\">\n<span id=\"id1\"></span><h2>組み込みのテンプレートフォームレンダラー<a class=\"heading-anchor\" href=\"#built-in-template-form-renderers\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"djangotemplates\">\n<h3><code class=\"docutils literal notranslate\">DjangoTemplates</code><a class=\"heading-anchor\" href=\"#djangotemplates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.renderers.DjangoTemplates\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">DjangoTemplates</span><a class=\"heading-anchor\" href=\"#django.forms.renderers.DjangoTemplates\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>このレンダラーは、 (<a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-TEMPLATES\"><code class=\"xref std std-setting docutils literal notranslate\">TEMPLATES</code></a> 設定で構成されているものとは接続されていない) 独立した <a class=\"reference internal\" href=\"/ja/5.1/topics/templates/#django.template.backends.django.DjangoTemplates\" title=\"django.template.backends.django.DjangoTemplates\"><code class=\"xref py py-class docutils literal notranslate\">DjangoTemplates</code></a> エンジンを使用しています。まず <a class=\"extlink-source reference external\" href=\"https://github.com/django/django/blob/stable/5.1.x/django/forms/templates\">django/forms/templates</a> にある組み込みのフォームテンプレートディレクトリからテンプレートを読み込み、次に <a class=\"reference internal\" href=\"/ja/5.1/ref/templates/api/#django.template.loaders.app_directories.Loader\" title=\"django.template.loaders.app_directories.Loader\"><code class=\"xref py py-class docutils literal notranslate\">app_directories</code></a> ローダーを使用してインストール済みアプリのテンプレートディレクトリから読み込みます。</p>\n<p>カスタマイズを施した <a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-TEMPLATES\"><code class=\"xref std std-setting docutils literal notranslate\">TEMPLATES</code></a> 設定からテンプレートをレンダリングしたい場合、例えばコンテキストプロセッサなどを使用するには、<a class=\"reference internal\" href=\"#django.forms.renderers.TemplatesSetting\" title=\"django.forms.renderers.TemplatesSetting\"><code class=\"xref py py-class docutils literal notranslate\">TemplatesSetting</code></a> レンダラーを使用してください。</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.renderers.DjangoDivFormRenderer\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">DjangoDivFormRenderer</span><a class=\"heading-anchor\" href=\"#django.forms.renderers.DjangoDivFormRenderer\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"5.0\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 5.0</p><p><span class=\"versionmodified deprecated\">バージョン 5.0 で非推奨.</span></p>\n</aside>\n<p><a class=\"reference internal\" href=\"#django.forms.renderers.DjangoTemplates\" title=\"django.forms.renderers.DjangoTemplates\"><code class=\"xref py py-class docutils literal notranslate\">DjangoTemplates</code></a> のエイリアス。</p>\n</section>\n<section id=\"jinja2\">\n<h3><code class=\"docutils literal notranslate\">Jinja2</code><a class=\"heading-anchor\" href=\"#jinja2\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.renderers.Jinja2\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Jinja2</span><a class=\"heading-anchor\" href=\"#django.forms.renderers.Jinja2\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>このレンダラーは <a class=\"reference internal\" href=\"#django.forms.renderers.DjangoTemplates\" title=\"django.forms.renderers.DjangoTemplates\"><code class=\"xref py py-class docutils literal notranslate\">DjangoTemplates</code></a> レンダラーと同じですが、<a class=\"reference internal\" href=\"/ja/5.1/topics/templates/#django.template.backends.jinja2.Jinja2\" title=\"django.template.backends.jinja2.Jinja2\"><code class=\"xref py py-class docutils literal notranslate\">Jinja2</code></a> バックエンドを使用します。組み込みウィジェットのテンプレートは <a class=\"extlink-source reference external\" href=\"https://github.com/django/django/blob/stable/5.1.x/django/forms/jinja2\">django/forms/jinja2</a> にあり、インストールされたアプリは <code class=\"docutils literal notranslate\">jinja2</code> ディレクトリ内にテンプレートを提供できます。</p>\n<p>このバックエンドを使用するには、プロジェクトとそのサードパーティアプリのすべてのフォームとウィジェットにJinja2のテンプレートがなければなりません。ウィジェットにJinja2のテンプレートがない場合、自分で提供しない限り、このレンダラーを使用することはできません。例えば、 <a class=\"reference internal\" href=\"/ja/5.1/ref/contrib/admin/#module-django.contrib.admin\" title=\"django.contrib.admin: Django's admin site.\"><code class=\"xref py py-mod docutils literal notranslate\">django.contrib.admin</code></a> は、Djangoのテンプレートタグを使用しているため、そのウィジェットにJinja2テンプレートを含んでいません。</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.renderers.Jinja2DivFormRenderer\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Jinja2DivFormRenderer</span><a class=\"heading-anchor\" href=\"#django.forms.renderers.Jinja2DivFormRenderer\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"5.0\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 5.0</p><p><span class=\"versionmodified deprecated\">バージョン 5.0 で非推奨.</span></p>\n</aside>\n<p><a class=\"reference internal\" href=\"#django.forms.renderers.Jinja2\" title=\"django.forms.renderers.Jinja2\"><code class=\"xref py py-class docutils literal notranslate\">Jinja2</code></a> のエイリアス。</p>\n</section>\n<section id=\"templatessetting\">\n<h3><code class=\"docutils literal notranslate\">TemplatesSetting</code><a class=\"heading-anchor\" href=\"#templatessetting\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.renderers.TemplatesSetting\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">TemplatesSetting</span><a class=\"heading-anchor\" href=\"#django.forms.renderers.TemplatesSetting\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>このレンダラーは、フォームとウィジェットのテンプレートの取得方法を完全に制御できます。これは、 <a class=\"reference internal\" href=\"/ja/5.1/topics/templates/#django.template.loader.get_template\" title=\"django.template.loader.get_template\"><code class=\"xref py py-func docutils literal notranslate\">get_template()</code></a> を使用して、 <a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-TEMPLATES\"><code class=\"xref std std-setting docutils literal notranslate\">TEMPLATES</code></a> 設定で構成されている内容に基づいてテンプレートを見つけます。</p>\n<p>このレンダラーを組み込みテンプレートと一緒に使用するには, 次のいずれかが必要です:</p>\n<ul>\n<li><p><a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> に <code class=\"docutils literal notranslate\">'django.forms'</code> が含まれていて、少なくとも一つのエンジンが <a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-TEMPLATES-APP_DIRS\"><code class=\"xref std std-setting docutils literal notranslate\">APP_DIRS=True</code></a> に設定されている必要があります。</p></li>\n<li><p>テンプレートエンジンの <a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-TEMPLATES-DIRS\"><code class=\"xref std std-setting docutils literal notranslate\">DIRS</code></a> に組み込みテンプレートディレクトリを追加します。そのパスを生成するには次のようにします:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">import</span> <span class=\"nn\">django</span>\n\ndjango<span class=\"o\">.</span>__path__<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span> <span class=\"o\">+</span> <span class=\"s2\">&quot;/forms/templates&quot;</span>  <span class=\"c1\"># or &#39;/forms/jinja2&#39;</span>\n</code></pre></div>\n</li>\n</ul>\n<p>このレンダラーを使用するには、プロジェクトが必要とするフォームテンプレートが見つかるようにする必要があります。</p>\n</section>\n</section>\n<section id=\"context-available-in-formset-templates\">\n<h2>フォームセットテンプレートで利用可能なコンテキスト<a class=\"heading-anchor\" href=\"#context-available-in-formset-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>フォームセットテンプレートは、 <a class=\"reference internal\" href=\"/ja/5.1/topics/forms/formsets/#django.forms.formsets.BaseFormSet.get_context\" title=\"django.forms.formsets.BaseFormSet.get_context\"><code class=\"xref py py-meth docutils literal notranslate\">BaseFormSet.get_context()</code></a> からコンテキストを受け取ります。デフォルトでは、フォームセットは以下の値を含む辞書を受け取ります:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">formset</code>: フォームセットのインスタンス。</p></li>\n</ul>\n</section>\n<section id=\"context-available-in-form-templates\">\n<h2>フォームテンプレートで利用可能なコンテキスト<a class=\"heading-anchor\" href=\"#context-available-in-form-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>フォームテンプレートは、 <a class=\"reference internal\" href=\"/ja/5.1/ref/forms/api/#django.forms.Form.get_context\" title=\"django.forms.Form.get_context\"><code class=\"xref py py-meth docutils literal notranslate\">Form.get_context()</code></a> からコンテキストを受け取ります。デフォルトでは、フォームは次の値を持つ辞書を受け取ります。</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">form</code>: バインドされたフォーム。</p></li>\n<li><p><code class=\"docutils literal notranslate\">fields</code>: 隠されたフィールドを除く、すべてのバインドされたフィールド。</p></li>\n<li><p><code class=\"docutils literal notranslate\">hidden_fields</code>: すべての隠されたバインドフィールド。</p></li>\n<li><p><code class=\"docutils literal notranslate\">errors</code>: フォームの非フィールド関連または非表示フィールド関連の全エラー。</p></li>\n</ul>\n</section>\n<section id=\"context-available-in-field-templates\">\n<h2>フィールドテンプレートで利用可能なコンテキスト<a class=\"heading-anchor\" href=\"#context-available-in-field-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<aside class=\"version-note version-added\" data-version=\"5.0\" role=\"note\">\n<p class=\"version-note-title\">New in Django 5.0</p></aside>\n<p>フィールドテンプレートは、 <a class=\"reference internal\" href=\"/ja/5.1/ref/forms/api/#django.forms.BoundField.get_context\" title=\"django.forms.BoundField.get_context\"><code class=\"xref py py-meth docutils literal notranslate\">BoundField.get_context()</code></a> からコンテキストを受け取ります。デフォルトでは、フィールドは以下の値を含む辞書を受け取ります:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">field</code>: <a class=\"reference internal\" href=\"/ja/5.1/ref/forms/api/#django.forms.BoundField\" title=\"django.forms.BoundField\"><code class=\"xref py py-class docutils literal notranslate\">BoundField</code></a> 。</p></li>\n</ul>\n</section>\n<section id=\"context-available-in-widget-templates\">\n<h2>ウィジェットテンプレートで利用可能なコンテキスト<a class=\"heading-anchor\" href=\"#context-available-in-widget-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Widgetテンプレートは <a class=\"reference internal\" href=\"/ja/5.1/ref/forms/widgets/#django.forms.Widget.get_context\" title=\"django.forms.Widget.get_context\"><code class=\"xref py py-meth docutils literal notranslate\">Widget.get_context()</code></a> からコンテキストを受け取ります。デフォルトでは、ウィジェットはコンテキスト内で単一の値、 <code class=\"docutils literal notranslate\">widget</code> を受け取ります。これは次のような値を含む辞書です:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">name</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">value</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">attrs</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">is_hidden</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">template_name</code></p></li>\n</ul>\n<p>一部のウィジェットは、コンテキストにさらなる情報を追加します。例えば、<code class=\"docutils literal notranslate\">Input</code> のサブクラスであるすべてのウィジェットは <code class=\"docutils literal notranslate\">widget['type']</code> を定義し、<a class=\"reference internal\" href=\"/ja/5.1/ref/forms/widgets/#django.forms.MultiWidget\" title=\"django.forms.MultiWidget\"><code class=\"xref py py-class docutils literal notranslate\">MultiWidget</code></a> はループ目的のために <code class=\"docutils literal notranslate\">widget['subwidgets']</code> を定義します。</p>\n</section>\n<section id=\"overriding-built-in-formset-templates\">\n<span id=\"id2\"></span><h2>組み込みのフォームセットテンプレートをオーバーライドする<a class=\"heading-anchor\" href=\"#overriding-built-in-formset-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><a class=\"reference internal\" href=\"/ja/5.1/topics/forms/formsets/#django.forms.formsets.BaseFormSet.template_name\" title=\"django.forms.formsets.BaseFormSet.template_name\"><code class=\"xref py py-attr docutils literal notranslate\">BaseFormSet.template_name</code></a></p>\n<p>フォームセットテンプレートをオーバーライドするには、<a class=\"reference internal\" href=\"#django.forms.renderers.TemplatesSetting\" title=\"django.forms.renderers.TemplatesSetting\"><code class=\"xref py py-class docutils literal notranslate\">TemplatesSetting</code></a> レンダラーを使用する必要があります。そうすると、フォームセットテンプレートのオーバーライドは、プロジェクト内の他のテンプレートをオーバーライドするのと <a class=\"reference internal\" href=\"/ja/5.1/howto/overriding-templates/\"><span class=\"doc\">同じように行うことができます</span></a> 。</p>\n</section>\n<section id=\"overriding-built-in-form-templates\">\n<span id=\"id3\"></span><h2>組み込みのフォームテンプレートをオーバーライドする<a class=\"heading-anchor\" href=\"#overriding-built-in-form-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><a class=\"reference internal\" href=\"/ja/5.1/ref/forms/api/#django.forms.Form.template_name\" title=\"django.forms.Form.template_name\"><code class=\"xref py py-attr docutils literal notranslate\">Form.template_name</code></a></p>\n<p>フォームテンプレートをオーバーライドするには、<a class=\"reference internal\" href=\"#django.forms.renderers.TemplatesSetting\" title=\"django.forms.renderers.TemplatesSetting\"><code class=\"xref py py-class docutils literal notranslate\">TemplatesSetting</code></a> レンダラーを使用する必要があります。その後、フォームテンプレートのオーバーライドは、プロジェクト内の他のテンプレートをオーバーライドする場合と <a class=\"reference internal\" href=\"/ja/5.1/howto/overriding-templates/\"><span class=\"doc\">同様に機能します</span></a>。</p>\n</section>\n<section id=\"overriding-built-in-field-templates\">\n<span id=\"id4\"></span><h2>組み込みのフィールドテンプレートをオーバーライドする<a class=\"heading-anchor\" href=\"#overriding-built-in-field-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<aside class=\"version-note version-added\" data-version=\"5.0\" role=\"note\">\n<p class=\"version-note-title\">New in Django 5.0</p></aside>\n<p><a class=\"reference internal\" href=\"/ja/5.1/ref/forms/fields/#django.forms.Field.template_name\" title=\"django.forms.Field.template_name\"><code class=\"xref py py-attr docutils literal notranslate\">Field.template_name</code></a></p>\n<p>フィールドテンプレートを上書きするには、 <a class=\"reference internal\" href=\"#django.forms.renderers.TemplatesSetting\" title=\"django.forms.renderers.TemplatesSetting\"><code class=\"xref py py-class docutils literal notranslate\">TemplatesSetting</code></a> レンダラーを使用する必要があります。それから、フィールドテンプレートのオーバーライドは、プロジェクト内の他のテンプレートのオーバーライドと <a class=\"reference internal\" href=\"/ja/5.1/howto/overriding-templates/\"><span class=\"doc\">同じ方法</span></a> で機能します。</p>\n</section>\n<section id=\"overriding-built-in-widget-templates\">\n<span id=\"id5\"></span><h2>組み込みのウィジェットテンプレートをオーバーライドする<a class=\"heading-anchor\" href=\"#overriding-built-in-widget-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>各ウィジェットは、<code class=\"docutils literal notranslate\">input.html</code> のような値を持つ <code class=\"docutils literal notranslate\">template_name</code> 属性を持っています。組み込みウィジェットテンプレートは、 <code class=\"docutils literal notranslate\">django/forms/widgets</code> パスに格納されています。例えば、 <code class=\"docutils literal notranslate\">django/forms/widgets/input.html</code> を定義することで、 <code class=\"docutils literal notranslate\">input.html</code> のカスタムテンプレートを提供できます。各ウィジェットのテンプレートの名前については、 <a class=\"reference internal\" href=\"/ja/5.1/ref/forms/widgets/#built-in-widgets\"><span class=\"std std-ref\">ビルトインのウィジェット</span></a> を参照してください。</p>\n<p>ウィジェットテンプレートをオーバーライドするには、 <a class=\"reference internal\" href=\"#django.forms.renderers.TemplatesSetting\" title=\"django.forms.renderers.TemplatesSetting\"><code class=\"xref py py-class docutils literal notranslate\">TemplatesSetting</code></a> レンダラを使用する必要があります。その後、ウィジェットテンプレートのオーバーライドは、プロジェクト内の他のテンプレートをオーバーライドするのと <a class=\"reference internal\" href=\"/ja/5.1/howto/overriding-templates/\"><span class=\"doc\">同じ方法で機能</span></a> します。</p>\n</section>","rootId":"module-django.forms.renderers","toc":[{"title":"低レベルのレンダリングAPI","anchor":"the-low-level-render-api","children":[]},{"title":"組み込みのテンプレートフォームレンダラー","anchor":"built-in-template-form-renderers","children":[{"title":"DjangoTemplates","anchor":"djangotemplates","children":[]},{"title":"Jinja2","anchor":"jinja2","children":[]},{"title":"TemplatesSetting","anchor":"templatessetting","children":[]}]},{"title":"フォームセットテンプレートで利用可能なコンテキスト","anchor":"context-available-in-formset-templates","children":[]},{"title":"フォームテンプレートで利用可能なコンテキスト","anchor":"context-available-in-form-templates","children":[]},{"title":"フィールドテンプレートで利用可能なコンテキスト","anchor":"context-available-in-field-templates","children":[]},{"title":"ウィジェットテンプレートで利用可能なコンテキスト","anchor":"context-available-in-widget-templates","children":[]},{"title":"組み込みのフォームセットテンプレートをオーバーライドする","anchor":"overriding-built-in-formset-templates","children":[]},{"title":"組み込みのフォームテンプレートをオーバーライドする","anchor":"overriding-built-in-form-templates","children":[]},{"title":"組み込みのフィールドテンプレートをオーバーライドする","anchor":"overriding-built-in-field-templates","children":[]},{"title":"組み込みのウィジェットテンプレートをオーバーライドする","anchor":"overriding-built-in-widget-templates","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API リファレンス","url":"/ja/5.1/ref/"},{"docname":"ref/forms/index","title":"フォーム","url":"/ja/5.1/ref/forms/"}],"prev":{"docname":"ref/forms/formsets","title":"フォームセット (Formset) の関数","url":"/ja/5.1/ref/forms/formsets/"},"next":{"docname":"ref/forms/widgets","title":"ウィジェット","url":"/ja/5.1/ref/forms/widgets/"},"formats":{"html":"/ja/5.1/ref/forms/renderers/","markdown":"/ja/5.1/ref/forms/renderers.md","json":"/ja/5.1/ref/forms/renderers.json"},"source":"https://github.com/django/django/blob/stable/5.1.x/docs/ref/forms/renderers.txt","official":"https://docs.djangoproject.com/ja/5.1/ref/forms/renderers/","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"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}