{"title":"ビルトインのクラスベースビュー API","version":"3.1","locale":"ja","docname":"ref/class-based-views/index","url":"/ja/3.1/ref/class-based-views/","canonical":"https://djangodocs.dev/ja/3.1/ref/class-based-views/","summary":"クラスベースビュー API のリファレンスです。前置きとして、トピックガイドの クラスベースビュー をご覧ください。 Base views View TemplateView RedirectView Generic display ビュー Detail Views List Views Generic editing ビュー…","html":"<h1>ビルトインのクラスベースビュー API<a class=\"heading-anchor\" href=\"#built-in-class-based-views-api\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>クラスベースビュー API のリファレンスです。前置きとして、トピックガイドの <a class=\"reference internal\" href=\"/ja/3.1/topics/class-based-views/\"><span class=\"doc\">クラスベースビュー</span></a> をご覧ください。</p>\n<div class=\"toctree-wrapper compound\">\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/base/\">Base views</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/base/#view\"><code class=\"docutils literal notranslate\"><span class=\"pre\">View</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/base/#templateview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/base/#redirectview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">RedirectView</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-display/\">Generic display ビュー</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-display/#detailview\">Detail Views</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-display/#listview\">List Views</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-editing/\">Generic editing ビュー</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-editing/#formview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">FormView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-editing/#createview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">CreateView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-editing/#updateview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">UpdateView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-editing/#deleteview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DeleteView</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-date-based/\">Generic date ビュー</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-date-based/#archiveindexview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ArchiveIndexView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-date-based/#yeararchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">YearArchiveView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-date-based/#montharchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">MonthArchiveView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-date-based/#weekarchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">WeekArchiveView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-date-based/#dayarchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DayArchiveView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-date-based/#todayarchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">TodayArchiveView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/generic-date-based/#datedetailview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DateDetailView</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins/\">クラスベースビュー mixin</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-simple/\">Simple mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-simple/#contextmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ContextMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-simple/#templateresponsemixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponseMixin</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-single-object/\">Single object mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-single-object/#singleobjectmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">SingleObjectMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-single-object/#singleobjecttemplateresponsemixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">SingleObjectTemplateResponseMixin</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-multiple-object/\">Multiple object mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-multiple-object/#multipleobjectmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">MultipleObjectMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-multiple-object/#multipleobjecttemplateresponsemixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">MultipleObjectTemplateResponseMixin</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-editing/\">mixinを編集する</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-editing/#formmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">FormMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-editing/#modelformmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ModelFormMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-editing/#processformview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ProcessFormView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-editing/#deletionmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DeletionMixin</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-date-based/\">Date-based mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-date-based/#yearmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">YearMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-date-based/#monthmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">MonthMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-date-based/#daymixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DayMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-date-based/#weekmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">WeekMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-date-based/#datemixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DateMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/mixins-date-based/#basedatelistview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">BaseDateListView</span></code></a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/\">クラスベース汎用ビュー - フラットインデックス</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#simple-generic-views\">シンプルな汎用ビュー</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#view\"><code class=\"docutils literal notranslate\"><span class=\"pre\">View</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#templateview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#redirectview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">RedirectView</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#detail-views\">詳細のビュー</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#detailview\">Detail Views</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#list-views\">リストのビュー</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#listview\">List Views</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#editing-views\">編集するためのビュー</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#formview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">FormView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#createview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">CreateView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#updateview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">UpdateView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#deleteview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DeleteView</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#date-based-views\">日付ベースのビュー</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#archiveindexview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ArchiveIndexView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#yeararchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">YearArchiveView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#montharchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">MonthArchiveView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#weekarchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">WeekArchiveView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#dayarchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DayArchiveView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#todayarchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">TodayArchiveView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/3.1/ref/class-based-views/flattened-index/#datedetailview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DateDetailView</span></code></a></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n<section id=\"specification\">\n<h2>仕様<a class=\"heading-anchor\" href=\"#specification\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>クラスベースビューによって提供される各リクエストは、独立した状態を持っています。そのため、状態変数をインスタンスに格納するのは安全です (例: <code class=\"docutils literal notranslate\"><span class=\"pre\">self.foo</span> <span class=\"pre\">=</span> <span class=\"pre\">3</span></code> はスレッドセーフな操作です) 。</p>\n<p>クラスベースビューは <a class=\"reference internal\" href=\"/ja/3.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> クラスメソッドを使って URL パターンに記述されます。</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=\"n\">urlpatterns</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span><span class=\"s1\">&#39;view/&#39;</span><span class=\"p\">,</span> <span class=\"n\">MyView</span><span class=\"o\">.</span><span class=\"n\">as_view</span><span class=\"p\">(</span><span class=\"n\">size</span><span class=\"o\">=</span><span class=\"mi\">42</span><span class=\"p\">)),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<aside class=\"admonition-thread-safety-with-view-arguments admonition\">\n<p class=\"admonition-title\">ビューの引数によるスレッドの安全性</p>\n<p>ビューから渡される引数は、ビューのすべてのインスタンスに共有されます。なのでリストやディクショナリ、または他の変更なオブジェクトを使用しないでください。共有オブジェクトが変更された場合、ビューにアクセスしたあるユーザーのアクションが、同じビューにアクセスする後続のユーザーに影響を与える可能性があります。</p>\n</aside>\n<p><a class=\"reference internal\" href=\"/ja/3.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> に渡された引数は、リクエストを処理するために使用されるインスタンスに割り当てられます。 前の例を使用すると、<code class=\"docutils literal notranslate\"><span class=\"pre\">MyView</span></code> のすべてのリクエストが <code class=\"docutils literal notranslate\"><span class=\"pre\">self.size</span></code> を使用できることを意味します。 引数はクラスにすでに存在する属性に対応していなければなりません (<code class=\"docutils literal notranslate\"><span class=\"pre\">hasattrチェックで</span> <span class=\"pre\">``True</span></code> を返します)。</p>\n</section>\n<section id=\"base-vs-generic-views\">\n<h2>Base vs Generic views<a class=\"heading-anchor\" href=\"#base-vs-generic-views\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>ベースクラスベースのビューは <em>親の</em> ビューとして考えることができ、それ自体で使用することも継承することもできます。プロジェクトに必要なすべての機能を提供していないかもしれませんが、その場合はベースビューが行えることを拡張するミックスインがあります。</p>\n<p>Django のジェネリックビューは、ベースビューから構築され、オブジェクトの詳細を表示するなどの一般的な使用パターンのショートカットとして開発されました。 ビューの開発で見つかった一定の共通したイディオムやパターンを取り、それらを抽象化して、自分で繰り返し行わなくてもデータの一般的なビューを素早く作成することができます。</p>\n<p>ほとんどのジェネリックビューでは、<code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> インスタンスである <code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span></code> キーが必要です。 <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> オブジェクトの詳細については、 <a class=\"reference internal\" href=\"/ja/3.1/topics/db/queries/\"><span class=\"doc\">クエリを作成する</span></a> を参照してください。</p>\n</section>","rootId":"built-in-class-based-views-api","toc":[{"title":"仕様","anchor":"specification","children":[]},{"title":"Base vs Generic views","anchor":"base-vs-generic-views","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API Reference","url":"/ja/3.1/ref/"}],"prev":{"docname":"ref/checks","title":"System check framework","url":"/ja/3.1/ref/checks/"},"next":{"docname":"ref/class-based-views/base","title":"Base views","url":"/ja/3.1/ref/class-based-views/base/"},"formats":{"html":"/ja/3.1/ref/class-based-views/","markdown":"/ja/3.1/ref/class-based-views.md","json":"/ja/3.1/ref/class-based-views.json"},"source":"https://github.com/django/django/blob/stable/3.1.x/docs/ref/class-based-views/index.txt","official":"https://docs.djangoproject.com/ja/3.1/ref/class-based-views/","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","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}