{"title":"Base views","version":"1.10","locale":"ja","docname":"ref/class-based-views/base","url":"/ja/1.10/ref/class-based-views/base/","canonical":"https://djangodocs.dev/ja/1.10/ref/class-based-views/base/","summary":"以下の3つのクラスは、Django のビューの作成に必要な多くの機能を提供します。これらは Django ビューの親のビューと見なすことができ、それ自体で使うことも継承して…","html":"<h1>Base views<a class=\"heading-anchor\" href=\"#base-views\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>以下の3つのクラスは、Django のビューの作成に必要な多くの機能を提供します。これらは Django ビューの <em>親の</em> ビューと見なすことができ、それ自体で使うことも継承して使うこともできます。プロジェクトに必要な全ての機能を提供するわけではありませんが、その場合は Mixins と汎用クラスベースビューが使えます。</p>\n<p>多くの Django のビルトインのクラスベースビューは、ほかのクラスベースビューや多種の mixin を継承しています。この継承チェーンは非常に重要なため、原型のクラスは <strong>継承元 (MRO)</strong> セクションにドキュメントがあります。MRO は メソッド解決順序 (Method Resolution Order) の略です。</p>\n<section id=\"view\">\n<h2><code class=\"docutils literal notranslate\">View</code><a class=\"heading-anchor\" href=\"#view\"><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.View\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.base.</span><span class=\"sig-name descname\">View</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.View\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>すべての元となるクラスベースビューです。他の全てのクラスベースビューは、この基本クラスを継承しています。厳密には汎用ビューではありませんので、<code class=\"docutils literal notranslate\">django.views</code> からインポートされることができます。</p>\n<aside class=\"version-note version-changed\" data-version=\"1.10\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 1.10</p><p><code class=\"docutils literal notranslate\">django.views</code> からインポートできるようになりました。</p>\n</aside>\n<p><strong>メソッドのフローチャート</strong></p>\n<ol class=\"arabic simple\">\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.base.View.dispatch\" title=\"django.views.generic.base.View.dispatch\"><code class=\"xref py py-meth docutils literal notranslate\">dispatch()</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.base.View.http_method_not_allowed\" title=\"django.views.generic.base.View.http_method_not_allowed\"><code class=\"xref py py-meth docutils literal notranslate\">http_method_not_allowed()</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.base.View.options\" title=\"django.views.generic.base.View.options\"><code class=\"xref py py-meth docutils literal notranslate\">options()</code></a></p></li>\n</ol>\n<p><strong>Example views.py</strong>:</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=\"nn\">django.http</span> <span class=\"kn\">import</span> HttpResponse\n<span class=\"kn\">from</span> <span class=\"nn\">django.views</span> <span class=\"kn\">import</span> View\n\n<span class=\"k\">class</span> <span class=\"nc\">MyView</span><span class=\"p\">(</span>View<span class=\"p\">):</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">get</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> request<span class=\"p\">,</span> <span class=\"o\">*</span>args<span class=\"p\">,</span> <span class=\"o\">**</span>kwargs<span class=\"p\">):</span>\n        <span class=\"k\">return</span> HttpResponse<span class=\"p\">(</span><span class=\"s1\">&#39;Hello, World!&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p><strong>Example urls.py</strong>:</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=\"nn\">django.conf.urls</span> <span class=\"kn\">import</span> url\n\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.views</span> <span class=\"kn\">import</span> MyView\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    url<span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s1\">&#39;^mine/$&#39;</span><span class=\"p\">,</span> MyView<span class=\"o\">.</span>as_view<span class=\"p\">(),</span> name<span class=\"o\">=</span><span class=\"s1\">&#39;my-view&#39;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p><strong>属性</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.View.http_method_names\">\n<span class=\"sig-name descname\">http_method_names</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.View.http_method_names\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>このビューが受け入れる HTTP メソッドの名称のリストです。</p>\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=\"p\">[</span><span class=\"s1\">&#39;get&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;post&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;put&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;patch&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;delete&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;head&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;options&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;trace&#39;</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.View.as_view\">\n<em class=\"property\"><span class=\"k\">classmethod</span> </em><span class=\"sig-name descname\">as_view</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>initkwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.View.as_view\"><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>response <span class=\"o\">=</span> MyView<span class=\"o\">.</span>as_view<span class=\"p\">()(</span>request<span class=\"p\">)</span>\n</code></pre></div>\n<aside class=\"version-note version-added\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">New in Django 1.9</p></aside>\n<p>返されたビューは、<code class=\"docutils literal notranslate\">view_class</code> と <code class=\"docutils literal notranslate\">view_initkwargs</code> 属性を持っています。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.View.dispatch\">\n<span class=\"sig-name descname\">dispatch</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">request</em>, <em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.View.dispatch\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ビューの <code class=\"docutils literal notranslate\">ビュー</code> 部分 -- <code class=\"docutils literal notranslate\">リクエスト</code> 引数を受け入れて、HTTP レスポンスを返すメソッドです。</p>\n<p>デフォルトの処理は、HTTP メソッドを調べて、その HTTP メソッドと一致するメソッドに処理を委ねるよう試みます; 例えば、<code class=\"docutils literal notranslate\">GET</code> は <code class=\"docutils literal notranslate\">get()</code> に、<code class=\"docutils literal notranslate\">POST</code> は <code class=\"docutils literal notranslate\">post()</code> に委ねられます。</p>\n<p>デフォルトでは、<code class=\"docutils literal notranslate\">HEAD</code> リクエストは <code class=\"docutils literal notranslate\">get()</code> に委ねられます。<code class=\"docutils literal notranslate\">HEAD</code> リクエストを <code class=\"docutils literal notranslate\">GET</code> とは違う方法で操作する必要がある場合は、<code class=\"docutils literal notranslate\">head()</code> メソッドをオーバーライドすることができます。例えば <a class=\"reference internal\" href=\"/ja/1.10/topics/class-based-views/#supporting-other-http-methods\"><span class=\"std std-ref\">Supporting other HTTP methods</span></a> をご覧ください。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.View.http_method_not_allowed\">\n<span class=\"sig-name descname\">http_method_not_allowed</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">request</em>, <em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.View.http_method_not_allowed\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ビューが、サポートしていない HTTP メソッドとともに呼び出された場合、このメソッドが代わりに呼ばれます。</p>\n<p>プレーンテキストで、有効なメソッドのリストともに、<code class=\"docutils literal notranslate\">HttpResponseNotAllowed</code> を返すデフォルトの処理です。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.View.options\">\n<span class=\"sig-name descname\">options</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">request</em>, <em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.View.options\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>OPTIONS HTTP 動詞のためのリクエストへのレスポンスを操作します。ビューの有効な HTTP メソッド名のリストを含む <code class=\"docutils literal notranslate\">Allow</code> ヘッダーとともにレスポンスを返します。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"templateview\">\n<h2><code class=\"docutils literal notranslate\">TemplateView</code><a class=\"heading-anchor\" href=\"#templateview\"><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.TemplateView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.base.</span><span class=\"sig-name descname\">TemplateView</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>URL 内でキャプチャされたパラメータを含むコンテキストとともに、与えられたテンプレートをレンダリングします。</p>\n<p><strong>継承元 (MRO)</strong></p>\n<p>このメソッドは、以下のビューからメソッドと属性を継承しています:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-simple/#django.views.generic.base.ContextMixin\" title=\"django.views.generic.base.ContextMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.ContextMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>メソッドのフローチャート</strong></p>\n<ol class=\"arabic simple\">\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.base.View.dispatch\" title=\"django.views.generic.base.View.dispatch\"><code class=\"xref py py-meth docutils literal notranslate\">dispatch()</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.base.View.http_method_not_allowed\" title=\"django.views.generic.base.View.http_method_not_allowed\"><code class=\"xref py py-meth docutils literal notranslate\">http_method_not_allowed()</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-simple/#django.views.generic.base.ContextMixin.get_context_data\" title=\"django.views.generic.base.ContextMixin.get_context_data\"><code class=\"xref py py-meth docutils literal notranslate\">get_context_data()</code></a></p></li>\n</ol>\n<p><strong>Example views.py</strong>:</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=\"nn\">django.views.generic.base</span> <span class=\"kn\">import</span> TemplateView\n\n<span class=\"kn\">from</span> <span class=\"nn\">articles.models</span> <span class=\"kn\">import</span> Article\n\n<span class=\"k\">class</span> <span class=\"nc\">HomePageView</span><span class=\"p\">(</span>TemplateView<span class=\"p\">):</span>\n\n    template_name <span class=\"o\">=</span> <span class=\"s2\">&quot;home.html&quot;</span>\n\n    <span class=\"k\">def</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>kwargs<span class=\"p\">):</span>\n        context <span class=\"o\">=</span> <span class=\"nb\">super</span><span class=\"p\">(</span>HomePageView<span class=\"p\">,</span> <span class=\"bp\">self</span><span class=\"p\">)</span><span class=\"o\">.</span>get_context_data<span class=\"p\">(</span><span class=\"o\">**</span>kwargs<span class=\"p\">)</span>\n        context<span class=\"p\">[</span><span class=\"s1\">&#39;latest_articles&#39;</span><span class=\"p\">]</span> <span class=\"o\">=</span> Article<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()[:</span><span class=\"mi\">5</span><span class=\"p\">]</span>\n        <span class=\"k\">return</span> context\n</code></pre></div>\n<p><strong>Example urls.py</strong>:</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=\"nn\">django.conf.urls</span> <span class=\"kn\">import</span> url\n\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.views</span> <span class=\"kn\">import</span> HomePageView\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    url<span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s1\">&#39;^$&#39;</span><span class=\"p\">,</span> HomePageView<span class=\"o\">.</span>as_view<span class=\"p\">(),</span> name<span class=\"o\">=</span><span class=\"s1\">&#39;home&#39;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p><strong>コンテキスト</strong></p>\n<ul class=\"simple\">\n<li><p>(<a class=\"reference internal\" href=\"/ja/1.10/ref/class-based-views/mixins-simple/#django.views.generic.base.ContextMixin\" title=\"django.views.generic.base.ContextMixin\"><code class=\"xref py py-class docutils literal notranslate\">ContextMixin</code></a> を通じて) ビューに対応した URL パターンからキャプチャされたキーワード引数とともに入力されます。</p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"redirectview\">\n<h2><code class=\"docutils literal notranslate\">RedirectView</code><a class=\"heading-anchor\" href=\"#redirectview\"><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.RedirectView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.base.</span><span class=\"sig-name descname\">RedirectView</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.RedirectView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>与えられた URL にリダイレクトします。</p>\n<p>与えられた URL は、辞書形式の文字列フォーマットを含むかもしれず、URL 内でキャプチャされたパラメータに対して追加されます。キーワード追加は (たとえ引数が渡されなくとも) <em>常に</em> 行われるため、Python がアウトプット上でパーセント文字に変換できるように、URL 内のすべての <code class=\"docutils literal notranslate\">&quot;%&quot;</code> 文字は <code class=\"docutils literal notranslate\">&quot;%%&quot;</code> と書かれなければなりません。</p>\n<p>与えられた URL が <code class=\"docutils literal notranslate\">None</code> の場合、Djangoは <code class=\"docutils literal notranslate\">HttpResponseGone</code> (410) を返します。</p>\n<p><strong>継承元 (MRO)</strong></p>\n<p>このビューは、以下のビューからメソッドと属性を継承します:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>メソッドのフローチャート</strong></p>\n<ol class=\"arabic simple\">\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.base.View.dispatch\" title=\"django.views.generic.base.View.dispatch\"><code class=\"xref py py-meth docutils literal notranslate\">dispatch()</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.base.View.http_method_not_allowed\" title=\"django.views.generic.base.View.http_method_not_allowed\"><code class=\"xref py py-meth docutils literal notranslate\">http_method_not_allowed()</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.base.RedirectView.get_redirect_url\" title=\"django.views.generic.base.RedirectView.get_redirect_url\"><code class=\"xref py py-meth docutils literal notranslate\">get_redirect_url()</code></a></p></li>\n</ol>\n<p><strong>Example views.py</strong>:</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=\"nn\">django.shortcuts</span> <span class=\"kn\">import</span> get_object_or_404\n<span class=\"kn\">from</span> <span class=\"nn\">django.views.generic.base</span> <span class=\"kn\">import</span> RedirectView\n\n<span class=\"kn\">from</span> <span class=\"nn\">articles.models</span> <span class=\"kn\">import</span> Article\n\n<span class=\"k\">class</span> <span class=\"nc\">ArticleCounterRedirectView</span><span class=\"p\">(</span>RedirectView<span class=\"p\">):</span>\n\n    permanent <span class=\"o\">=</span> <span class=\"kc\">False</span>\n    query_string <span class=\"o\">=</span> <span class=\"kc\">True</span>\n    pattern_name <span class=\"o\">=</span> <span class=\"s1\">&#39;article-detail&#39;</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">get_redirect_url</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"o\">*</span>args<span class=\"p\">,</span> <span class=\"o\">**</span>kwargs<span class=\"p\">):</span>\n        article <span class=\"o\">=</span> get_object_or_404<span class=\"p\">(</span>Article<span class=\"p\">,</span> pk<span class=\"o\">=</span>kwargs<span class=\"p\">[</span><span class=\"s1\">&#39;pk&#39;</span><span class=\"p\">])</span>\n        article<span class=\"o\">.</span>update_counter<span class=\"p\">()</span>\n        <span class=\"k\">return</span> <span class=\"nb\">super</span><span class=\"p\">(</span>ArticleCounterRedirectView<span class=\"p\">,</span> <span class=\"bp\">self</span><span class=\"p\">)</span><span class=\"o\">.</span>get_redirect_url<span class=\"p\">(</span><span class=\"o\">*</span>args<span class=\"p\">,</span> <span class=\"o\">**</span>kwargs<span class=\"p\">)</span>\n</code></pre></div>\n<p><strong>Example urls.py</strong>:</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=\"nn\">django.conf.urls</span> <span class=\"kn\">import</span> url\n<span class=\"kn\">from</span> <span class=\"nn\">django.views.generic.base</span> <span class=\"kn\">import</span> RedirectView\n\n<span class=\"kn\">from</span> <span class=\"nn\">article.views</span> <span class=\"kn\">import</span> ArticleCounterRedirectView<span class=\"p\">,</span> ArticleDetail\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    url<span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s1\">&#39;^counter/(?P&lt;pk&gt;[0-9]+)/$&#39;</span><span class=\"p\">,</span> ArticleCounterRedirectView<span class=\"o\">.</span>as_view<span class=\"p\">(),</span> name<span class=\"o\">=</span><span class=\"s1\">&#39;article-counter&#39;</span><span class=\"p\">),</span>\n    url<span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s1\">&#39;^details/(?P&lt;pk&gt;[0-9]+)/$&#39;</span><span class=\"p\">,</span> ArticleDetail<span class=\"o\">.</span>as_view<span class=\"p\">(),</span> name<span class=\"o\">=</span><span class=\"s1\">&#39;article-detail&#39;</span><span class=\"p\">),</span>\n    url<span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s1\">&#39;^go-to-django/$&#39;</span><span class=\"p\">,</span> RedirectView<span class=\"o\">.</span>as_view<span class=\"p\">(</span>url<span class=\"o\">=</span><span class=\"s1\">&#39;https://djangoproject.com&#39;</span><span class=\"p\">),</span> name<span class=\"o\">=</span><span class=\"s1\">&#39;go-to-django&#39;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p><strong>属性</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.RedirectView.url\">\n<span class=\"sig-name descname\">url</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.RedirectView.url\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>リダイレクト先の URL です。もしくは、410 (Gone) HTTP エラーを投げる <code class=\"docutils literal notranslate\">None</code> です。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.RedirectView.pattern_name\">\n<span class=\"sig-name descname\">pattern_name</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.RedirectView.pattern_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>リダイレクト先の URL パターンの名前です。このビューのために渡されてきたものと同じ args と kwargs を使ってリバースされます。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.RedirectView.permanent\">\n<span class=\"sig-name descname\">permanent</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.RedirectView.permanent\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>リダイレクトがパーマネントかどうかを指定します。ここでの違いは、返される HTTP ステータスコードだけです。<code class=\"docutils literal notranslate\">True</code> の場合、リダイレクトはステータスコード 301 を使います。<code class=\"docutils literal notranslate\">False</code> の場合は、ステータスコード 302 を使います。デフォルトでは、<code class=\"docutils literal notranslate\">permanent</code> は <code class=\"docutils literal notranslate\">False</code> です。</p>\n<aside class=\"version-note version-changed\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 1.9</p><p><code class=\"docutils literal notranslate\">permanent</code> 属性のデフォルト値が <code class=\"docutils literal notranslate\">True</code> から <code class=\"docutils literal notranslate\">False</code> に変更されました。</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.RedirectView.query_string\">\n<span class=\"sig-name descname\">query_string</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.RedirectView.query_string\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>GET クエリ文字列を新しい場所に渡すかどうかを指定します。<code class=\"docutils literal notranslate\">True</code> の場合、クエリ文字列は URL に追加されます。<code class=\"docutils literal notranslate\">False</code> の場合、クエリ文字列は破棄されます。 デフォルトでは、<code class=\"docutils literal notranslate\">query_string</code> は <code class=\"docutils literal notranslate\">False</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.RedirectView.get_redirect_url\">\n<span class=\"sig-name descname\">get_redirect_url</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.RedirectView.get_redirect_url\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>リダイレクトのために、対象の URL を組み立てます。</p>\n<p>デフォルトの処理は、<a class=\"reference internal\" href=\"#django.views.generic.base.RedirectView.url\" title=\"django.views.generic.base.RedirectView.url\"><code class=\"xref py py-attr docutils literal notranslate\">url</code></a> を最初の文字列として使い、URLでキャプチャされた名前付きグループを使用したその文字列内の名前付き <code class=\"docutils literal notranslate\">%</code> パラメータの展開を実行します。</p>\n<p><a class=\"reference internal\" href=\"#django.views.generic.base.RedirectView.url\" title=\"django.views.generic.base.RedirectView.url\"><code class=\"xref py py-attr docutils literal notranslate\">url</code></a> がセットされていない場合、<code class=\"docutils literal notranslate\">get_redirect_url()</code> が URLでキャプチャされたものを使って <a class=\"reference internal\" href=\"#django.views.generic.base.RedirectView.pattern_name\" title=\"django.views.generic.base.RedirectView.pattern_name\"><code class=\"xref py py-attr docutils literal notranslate\">pattern_name</code></a> をリバースしようとします (名前あり・名前なしグループの両方が使われます)。</p>\n<p><a class=\"reference internal\" href=\"#django.views.generic.base.RedirectView.query_string\" title=\"django.views.generic.base.RedirectView.query_string\"><code class=\"xref py py-attr docutils literal notranslate\">query_string</code></a> によってリクエストされた場合、生成された URL にクエリ文字列を追加します。サブクラスは、メソッドがリダイレクト準備ができた URL 文字列を返す限り、これらが望むとおりの処理をします。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>","rootId":"base-views","toc":[{"title":"View","anchor":"view","children":[]},{"title":"TemplateView","anchor":"templateview","children":[]},{"title":"RedirectView","anchor":"redirectview","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API Reference","url":"/ja/1.10/ref/"},{"docname":"ref/class-based-views/index","title":"ビルトインのクラスベースビュー API","url":"/ja/1.10/ref/class-based-views/"}],"prev":{"docname":"ref/class-based-views/index","title":"ビルトインのクラスベースビュー API","url":"/ja/1.10/ref/class-based-views/"},"next":{"docname":"ref/class-based-views/generic-display","title":"Generic display ビュー","url":"/ja/1.10/ref/class-based-views/generic-display/"},"formats":{"html":"/ja/1.10/ref/class-based-views/base/","markdown":"/ja/1.10/ref/class-based-views/base.md","json":"/ja/1.10/ref/class-based-views/base.json"},"source":"https://github.com/django/django/blob/stable/1.10.x/docs/ref/class-based-views/base.txt","official":"https://docs.djangoproject.com/ja/1.10/ref/class-based-views/base/","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"]}