{"title":"シンプルなミックスイン (mixin)","version":"6.1","locale":"ja","docname":"ref/class-based-views/mixins-simple","url":"/ja/6.1/ref/class-based-views/mixins-simple/","canonical":"https://djangodocs.dev/ja/6.1/ref/class-based-views/mixins-simple/","summary":"ContextMixin Link to this heading # class django.views.generic.base. ContextMixin Link to this definition # 属性 extra_context Link to this definition #…","html":"<h1>シンプルなミックスイン (mixin)<a class=\"heading-anchor\" href=\"#simple-mixins\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"contextmixin\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">ContextMixin</span></code><a class=\"heading-anchor\" href=\"#contextmixin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.ContextMixin\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">django.views.generic.base.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ContextMixin</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.base.ContextMixin\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>属性</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.ContextMixin.extra_context\">\n<span class=\"sig-name descname\"><span class=\"pre\">extra_context</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.base.ContextMixin.extra_context\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>コンテキストに含める辞書。これは、<a class=\"reference internal\" href=\"/ja/6.1/ref/class-based-views/base/#django.views.generic.base.View.as_view\" title=\"django.views.generic.base.View.as_view\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">as_view()</span></code></a> の中でコンテキストを指定する便利な方法です。使用例を次に示します。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.views.generic</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">TemplateView</span>\n\n<span class=\"n\">TemplateView</span><span class=\"o\">.</span><span class=\"n\">as_view</span><span class=\"p\">(</span><span class=\"n\">extra_context</span><span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;title&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Custom Title&quot;</span><span class=\"p\">})</span>\n</code></pre></div>\n</dd></dl>\n\n<p><strong>メソッド</strong></p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.ContextMixin.get_context_data\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_context_data</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.ContextMixin.get_context_data\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><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\">def</span><span class=\"w\"> </span><span class=\"nf\">get_context_data</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">):</span>\n    <span class=\"n\">context</span> <span class=\"o\">=</span> <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"n\">get_context_data</span><span class=\"p\">(</span><span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">)</span>\n    <span class=\"n\">context</span><span class=\"p\">[</span><span class=\"s2\">&quot;number&quot;</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">random</span><span class=\"o\">.</span><span class=\"n\">randrange</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">100</span><span class=\"p\">)</span>\n    <span class=\"k\">return</span> <span class=\"n\">context</span>\n</code></pre></div>\n<p>すべてのクラスベースのジェネリックビューのテンプレートコンテキストには、<code class=\"docutils literal notranslate\"><span class=\"pre\">View</span></code> インスタンスを指す <code class=\"docutils literal notranslate\"><span class=\"pre\">view</span></code> 変数が含まれています。</p>\n<aside class=\"admonition-use-alters-data-where-appropriate admonition\">\n<p class=\"admonition-title\">適切な場合には <code class=\"docutils literal notranslate\"><span class=\"pre\">alters_data</span></code> を使用する</p>\n<p>ビュー インスタンスをテンプレートコンテキスト内に持つことは、潜在的に危険なメソッドを、テンプレートの作者に公開してしまう可能性があることに注意してください。このようなメソッドがテンプレート内で呼ばれるのを防ぐには、そのメソッドに <code class=\"docutils literal notranslate\"><span class=\"pre\">alters_data=True</span></code> を設定してください。より詳しい情報については、<a class=\"reference internal\" href=\"/ja/6.1/ref/templates/api/#alters-data-description\"><span class=\"std std-ref\">テンプレートコンテキストのレンダリング</span></a> に関するドキュメントを読んでください。</p>\n</aside>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"templateresponsemixin\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponseMixin</span></code><a class=\"heading-anchor\" href=\"#templateresponsemixin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.TemplateResponseMixin\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">django.views.generic.base.</span></span><span class=\"sig-name descname\"><span class=\"pre\">TemplateResponseMixin</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateResponseMixin\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>適切なコンテキストを指定して <a class=\"reference internal\" href=\"/ja/6.1/ref/template-response/#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a> を構築するメカニズムを提供します。使用するテンプレートは設定可能で、サブクラス化によりさらにカスタマイズできます。</p>\n<p><strong>属性</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.TemplateResponseMixin.template_name\">\n<span class=\"sig-name descname\"><span class=\"pre\">template_name</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateResponseMixin.template_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>文字列で指定された使用するテンプレートの完全な名前。<code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code> を定義しないと、<a class=\"reference internal\" href=\"/ja/6.1/ref/exceptions/#django.core.exceptions.ImproperlyConfigured\" title=\"django.core.exceptions.ImproperlyConfigured\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.core.exceptions.ImproperlyConfigured</span></code></a> 例外が発生します。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.TemplateResponseMixin.template_engine\">\n<span class=\"sig-name descname\"><span class=\"pre\">template_engine</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateResponseMixin.template_engine\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>テンプレートを読み込む際に使用するテンプレートエンジンの <a class=\"reference internal\" href=\"/ja/6.1/ref/settings/#std-setting-TEMPLATES-NAME\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">NAME</span></code></a> です。 <code class=\"docutils literal notranslate\"><span class=\"pre\">template_engine</span></code> は <code class=\"docutils literal notranslate\"><span class=\"pre\">response_class</span></code> の <code class=\"docutils literal notranslate\"><span class=\"pre\">using</span></code> キーワード引数として渡されます。デフォルトは <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> で、 Django は設定された全てのエンジンでテンプレートを検索します。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.TemplateResponseMixin.response_class\">\n<span class=\"sig-name descname\"><span class=\"pre\">response_class</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateResponseMixin.response_class\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\"><span class=\"pre\">render_to_response</span></code> メソッドが返す response クラス。 デフォルトは <a class=\"reference internal\" href=\"/ja/6.1/ref/template-response/#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a> です。 <code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code> インスタンスのテンプレートとコンテキストは後で変更できます (たとえば <a class=\"reference internal\" href=\"/ja/6.1/topics/http/middleware/#template-response-middleware\"><span class=\"std std-ref\">template response ミドルウェア</span></a> で変更できます)。</p>\n<p>カスタムテンプレートの読み込みやカスタムコンテキストオブジェクトのインスタンス化が必要な場合は、 <code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code> サブクラスを作成して <code class=\"docutils literal notranslate\"><span class=\"pre\">response_class</span></code> に代入してください。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.TemplateResponseMixin.content_type\">\n<span class=\"sig-name descname\"><span class=\"pre\">content_type</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateResponseMixin.content_type\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>レスポンスに使用するコンテンツタイプ。 <code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code> は <code class=\"docutils literal notranslate\"><span class=\"pre\">response_class</span></code> のキーワード引数として渡されます。デフォルトは <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> で、その場合 Django は <code class=\"docutils literal notranslate\"><span class=\"pre\">'text/html'</span></code> を使用します。</p>\n</dd></dl>\n\n<p><strong>メソッド</strong></p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.TemplateResponseMixin.render_to_response\">\n<span class=\"sig-name descname\"><span class=\"pre\">render_to_response</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">context</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">response_kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateResponseMixin.render_to_response\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\"><span class=\"pre\">self.response_class</span></code> インスタンスを返します。</p>\n<p>キーワード引数を指定すると、response クラスのコンストラクタに渡されます。</p>\n<p><a class=\"reference internal\" href=\"#django.views.generic.base.TemplateResponseMixin.get_template_names\" title=\"django.views.generic.base.TemplateResponseMixin.get_template_names\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_template_names()</span></code></a> を呼び出すと、存在するテンプレートを探すために検索されるテンプレート名のリストを取得できます。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.TemplateResponseMixin.get_template_names\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_template_names</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateResponseMixin.get_template_names\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>テンプレートをレンダリングする際に検索するテンプレート名のリストを返します。最初に見つかったテンプレートが使用されます。</p>\n<p>デフォルトの実装では、<a class=\"reference internal\" href=\"#django.views.generic.base.TemplateResponseMixin.template_name\" title=\"django.views.generic.base.TemplateResponseMixin.template_name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">template_name</span></code></a> を含むリストを返します（指定された場合）。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>","rootId":"simple-mixins","toc":[{"title":"ContextMixin","anchor":"contextmixin","children":[]},{"title":"TemplateResponseMixin","anchor":"templateresponsemixin","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API リファレンス","url":"/ja/6.1/ref/"},{"docname":"ref/class-based-views/index","title":"ビルトインのクラスベースビュー API","url":"/ja/6.1/ref/class-based-views/"},{"docname":"ref/class-based-views/mixins","title":"クラスベースビューのミックスイン (mixin)","url":"/ja/6.1/ref/class-based-views/mixins/"}],"prev":{"docname":"ref/class-based-views/mixins","title":"クラスベースビューのミックスイン (mixin)","url":"/ja/6.1/ref/class-based-views/mixins/"},"next":{"docname":"ref/class-based-views/mixins-single-object","title":"単一オブジェクト ミックスイン (Single object mixin)","url":"/ja/6.1/ref/class-based-views/mixins-single-object/"},"formats":{"html":"/ja/6.1/ref/class-based-views/mixins-simple/","markdown":"/ja/6.1/ref/class-based-views/mixins-simple.md","json":"/ja/6.1/ref/class-based-views/mixins-simple.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/ref/class-based-views/mixins-simple.txt","official":"https://docs.djangoproject.com/ja/6.1/ref/class-based-views/mixins-simple/","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"]}