{"title":"ビルトインのクラスベースビュー API","version":"1.10","locale":"ja","docname":"ref/class-based-views/index","url":"/ja/1.10/ref/class-based-views/","canonical":"https://djangodocs.dev/ja/1.10/ref/class-based-views/","summary":"クラスベースビュー API のリファレンスです。前置きとして、トピックガイドの Class-based views をご覧ください。","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/1.10/topics/class-based-views/\"><span class=\"doc\">Class-based views</span></a> をご覧ください。</p>\n<div class=\"toctree-wrapper compound\">\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/base/\">Base views</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/base/#view\"><code class=\"docutils literal notranslate\">View</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/base/#templateview\"><code class=\"docutils literal notranslate\">TemplateView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/base/#redirectview\"><code class=\"docutils literal notranslate\">RedirectView</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/generic-display/\">Generic display ビュー</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/generic-display/#detailview\">Detail Views</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/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/1.10/ref/class-based-views/generic-editing/\">Generic editing ビュー</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/generic-editing/#formview\"><code class=\"docutils literal notranslate\">FormView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/generic-editing/#createview\"><code class=\"docutils literal notranslate\">CreateView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/generic-editing/#updateview\"><code class=\"docutils literal notranslate\">UpdateView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/generic-editing/#deleteview\"><code class=\"docutils literal notranslate\">DeleteView</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/generic-date-based/\">Generic date ビュー</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/generic-date-based/#archiveindexview\"><code class=\"docutils literal notranslate\">ArchiveIndexView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/generic-date-based/#yeararchiveview\"><code class=\"docutils literal notranslate\">YearArchiveView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/generic-date-based/#montharchiveview\"><code class=\"docutils literal notranslate\">MonthArchiveView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/generic-date-based/#weekarchiveview\"><code class=\"docutils literal notranslate\">WeekArchiveView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/generic-date-based/#dayarchiveview\"><code class=\"docutils literal notranslate\">DayArchiveView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/generic-date-based/#todayarchiveview\"><code class=\"docutils literal notranslate\">TodayArchiveView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/generic-date-based/#datedetailview\"><code class=\"docutils literal notranslate\">DateDetailView</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins/\">クラスベースビュー mixin</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-simple/\">Simple mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-simple/#contextmixin\"><code class=\"docutils literal notranslate\">ContextMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-simple/#templateresponsemixin\"><code class=\"docutils literal notranslate\">TemplateResponseMixin</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-single-object/\">Single object mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-single-object/#singleobjectmixin\"><code class=\"docutils literal notranslate\">SingleObjectMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-single-object/#singleobjecttemplateresponsemixin\"><code class=\"docutils literal notranslate\">SingleObjectTemplateResponseMixin</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-multiple-object/\">Multiple object mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-multiple-object/#multipleobjectmixin\"><code class=\"docutils literal notranslate\">MultipleObjectMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-multiple-object/#multipleobjecttemplateresponsemixin\"><code class=\"docutils literal notranslate\">MultipleObjectTemplateResponseMixin</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-editing/\">Editing mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-editing/#formmixin\"><code class=\"docutils literal notranslate\">FormMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-editing/#modelformmixin\"><code class=\"docutils literal notranslate\">ModelFormMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-editing/#processformview\"><code class=\"docutils literal notranslate\">ProcessFormView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-editing/#deletionmixin\"><code class=\"docutils literal notranslate\">DeletionMixin</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-date-based/\">Date-based mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-date-based/#yearmixin\"><code class=\"docutils literal notranslate\">YearMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-date-based/#monthmixin\"><code class=\"docutils literal notranslate\">MonthMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-date-based/#daymixin\"><code class=\"docutils literal notranslate\">DayMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-date-based/#weekmixin\"><code class=\"docutils literal notranslate\">WeekMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-date-based/#datemixin\"><code class=\"docutils literal notranslate\">DateMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-date-based/#basedatelistview\"><code class=\"docutils literal notranslate\">BaseDateListView</code></a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/\">クラスベース汎用ビュー - フラットインデックス</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#simple-generic-views\">シンプルな汎用ビュー</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#view\"><code class=\"docutils literal notranslate\">View</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#templateview\"><code class=\"docutils literal notranslate\">TemplateView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#redirectview\"><code class=\"docutils literal notranslate\">RedirectView</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#detail-views\">詳細のビュー</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/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/1.10/ref/class-based-views/flattened-index/#list-views\">リストのビュー</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/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/1.10/ref/class-based-views/flattened-index/#editing-views\">編集するためのビュー</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#formview\"><code class=\"docutils literal notranslate\">FormView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#createview\"><code class=\"docutils literal notranslate\">CreateView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#updateview\"><code class=\"docutils literal notranslate\">UpdateView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#deleteview\"><code class=\"docutils literal notranslate\">DeleteView</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#date-based-views\">日付ベースのビュー</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#archiveindexview\"><code class=\"docutils literal notranslate\">ArchiveIndexView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#yeararchiveview\"><code class=\"docutils literal notranslate\">YearArchiveView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#montharchiveview\"><code class=\"docutils literal notranslate\">MonthArchiveView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#weekarchiveview\"><code class=\"docutils literal notranslate\">WeekArchiveView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#dayarchiveview\"><code class=\"docutils literal notranslate\">DayArchiveView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#todayarchiveview\"><code class=\"docutils literal notranslate\">TodayArchiveView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/flattened-index/#datedetailview\"><code class=\"docutils literal notranslate\">DateDetailView</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\">self.foo = 3</code> はスレッドセーフな操作です) 。</p>\n<p>クラスベースビューは <a class=\"reference internal\" href=\"/ja/1.10/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\">as_view()</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>urlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    url<span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s1\">&#39;^view/$&#39;</span><span class=\"p\">,</span> MyView<span class=\"o\">.</span>as_view<span class=\"p\">(</span>size<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\" role=\"note\">\n<p class=\"admonition-title\">Thread safety with view arguments</p>\n<p>Arguments passed to a view are shared between every instance of a view.\nThis means that you shouldn't use a list, dictionary, or any other\nmutable object as an argument to a view. If you do and the shared object\nis modified, the actions of one user visiting your view could have an\neffect on subsequent users visiting the same view.</p>\n</aside>\n<p>Arguments passed into <a class=\"reference internal\" href=\"/ja/1.10/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\">as_view()</code></a> will\nbe assigned onto the instance that is used to service a request. Using the\nprevious example, this means that every request on <code class=\"docutils literal notranslate\">MyView</code> is able to use\n<code class=\"docutils literal notranslate\">self.size</code>. Arguments must correspond to attributes that already exist on\nthe class (return <code class=\"docutils literal notranslate\">True</code> on a <code class=\"docutils literal notranslate\">hasattr</code> check).</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>Base class-based views can be thought of as <em>parent</em> views, which can be\nused by themselves or inherited from. They may not provide all the\ncapabilities required for projects, in which case there are Mixins which\nextend what base views can do.</p>\n<p>Django’s generic views are built off of those base views, and were developed\nas a shortcut for common usage patterns such as displaying the details of an\nobject. They take certain common idioms and patterns found in view\ndevelopment and abstract them so that you can quickly write common views of\ndata without having to repeat yourself.</p>\n<p>Most generic views require the <code class=\"docutils literal notranslate\">queryset</code> key, which is a <code class=\"docutils literal notranslate\">QuerySet</code>\ninstance; see <a class=\"reference internal\" href=\"/ja/1.10/topics/db/queries/\"><span class=\"doc\">Making queries</span></a> for more information about <code class=\"docutils literal notranslate\">QuerySet</code>\nobjects.</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/1.10/ref/"}],"prev":{"docname":"ref/checks","title":"System check framework","url":"/ja/1.10/ref/checks/"},"next":{"docname":"ref/class-based-views/base","title":"Base views","url":"/ja/1.10/ref/class-based-views/base/"},"formats":{"html":"/ja/1.10/ref/class-based-views/","markdown":"/ja/1.10/ref/class-based-views.md","json":"/ja/1.10/ref/class-based-views.json"},"source":"https://github.com/django/django/blob/stable/1.10.x/docs/ref/class-based-views/index.txt","official":"https://docs.djangoproject.com/ja/1.10/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","fr","ja","id","pt-br","es","el","pl"]}