{"title":"Django のショートカット関数","version":"6.0","locale":"ja","docname":"topics/http/shortcuts","url":"/ja/6.0/topics/http/shortcuts/","canonical":"https://djangodocs.dev/ja/6.0/topics/http/shortcuts/","summary":"django.shortcuts パッケージは、MVC の複数のレベルにまたがるヘルパー関数とクラスを集めたものです。","html":"<span id=\"django-shortcut-functions\"></span><h1>Django のショートカット関数<a class=\"heading-anchor\" href=\"#module-django.shortcuts\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p id=\"index-0\"><code class=\"docutils literal notranslate\">django.shortcuts</code> パッケージは、MVC の複数のレベルにまたがるヘルパー関数とクラスを集めたものです。言い換えれば、これらの関数やクラスは、便宜上、控えめな結合を取り入れます。</p>\n<section id=\"render\">\n<h2><code class=\"docutils literal notranslate\">render()</code><a class=\"heading-anchor\" href=\"#render\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.shortcuts.render\">\n<span class=\"sig-name descname\">render</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">request</em>, <em class=\"sig-param\">template_name</em>, <em class=\"sig-param\">context<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">content_type<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">status<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">using<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.shortcuts.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/6.0/ref/request-response/#django.http.HttpResponse\" title=\"django.http.HttpResponse\"><code class=\"xref py py-class docutils literal notranslate\">HttpResponse</code></a> オブジェクトを返します。</p>\n<p>Django does not provide a shortcut function which returns a\n<a class=\"reference internal\" href=\"/ja/6.0/ref/template-response/#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\">TemplateResponse</code></a> because the constructor\nof <a class=\"reference internal\" href=\"/ja/6.0/ref/template-response/#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\">TemplateResponse</code></a> offers the same level\nof convenience as <a class=\"reference internal\" href=\"#django.shortcuts.render\" title=\"django.shortcuts.render\"><code class=\"xref py py-func docutils literal notranslate\">render()</code></a>.</p>\n</dd></dl>\n\n<section id=\"required-arguments\">\n<h3>必須の引数<a class=\"heading-anchor\" href=\"#required-arguments\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\">request</code></dt><dd><p>このレスポンスを生成するのに使用されるリクエスト オブジェクト。</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\">template_name</code></dt><dd><p>使用するテンプレートの完全な名前、または、テンプレート名のシーケンス。シーケンスが指定された場合、最初に存在するテンプレートが使用されます。テンプレートの検索方法については、<a class=\"reference internal\" href=\"/ja/6.0/topics/templates/#template-loading\"><span class=\"std std-ref\">テンプレートの読み込みドキュメント</span></a> を参照してください。</p>\n</dd>\n</dl>\n</section>\n<section id=\"optional-arguments\">\n<h3>オプションの引数<a class=\"heading-anchor\" href=\"#optional-arguments\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\">context</code></dt><dd><p>テンプレートコンテキストに追加する値の辞書です。デフォルトでは空の辞書です。辞書内の値が呼び出し可能な場合、ビューはテンプレートをレンダリングする直前にそれを呼び出します。</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\">content_type</code></dt><dd><p>結果のドキュメントに適用するMIMEタイプ。デフォルトは <code class=\"docutils literal notranslate\">'text/html'</code> です。</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\">status</code></dt><dd><p>レスポンスのステータスコード。デフォルトは <code class=\"docutils literal notranslate\">200</code> です。</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\">using</code></dt><dd><p>テンプレートを読み込むために使用するテンプレートエンジンの <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-TEMPLATES-NAME\"><code class=\"xref std std-setting docutils literal notranslate\">NAME</code></a> を指定します。</p>\n</dd>\n</dl>\n</section>\n<section id=\"example\">\n<h3>カスタマイズ例<a class=\"heading-anchor\" href=\"#example\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>次の例では、テンプレート <code class=\"docutils literal notranslate\">myapp/index.html</code> をMIMEタイプ <code class=\"docutils literal notranslate\">application/xhtml+xml</code> でレンダリングしてみます。</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> render\n\n\n<span class=\"k\">def</span> <span class=\"nf\">my_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    <span class=\"c1\"># View code here...</span>\n    <span class=\"k\">return</span> render<span class=\"p\">(</span>\n        request<span class=\"p\">,</span>\n        <span class=\"s2\">&quot;myapp/index.html&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;foo&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;bar&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">},</span>\n        content_type<span class=\"o\">=</span><span class=\"s2\">&quot;application/xhtml+xml&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n</code></pre></div>\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=\"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.template</span> <span class=\"kn\">import</span> loader\n\n\n<span class=\"k\">def</span> <span class=\"nf\">my_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    <span class=\"c1\"># View code here...</span>\n    t <span class=\"o\">=</span> loader<span class=\"o\">.</span>get_template<span class=\"p\">(</span><span class=\"s2\">&quot;myapp/index.html&quot;</span><span class=\"p\">)</span>\n    c <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s2\">&quot;foo&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;bar&quot;</span><span class=\"p\">}</span>\n    <span class=\"k\">return</span> HttpResponse<span class=\"p\">(</span>t<span class=\"o\">.</span>render<span class=\"p\">(</span>c<span class=\"p\">,</span> request<span class=\"p\">),</span> content_type<span class=\"o\">=</span><span class=\"s2\">&quot;application/xhtml+xml&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"redirect\">\n<h2><code class=\"docutils literal notranslate\">redirect()</code><a class=\"heading-anchor\" href=\"#redirect\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.shortcuts.redirect\">\n<span class=\"sig-name descname\">redirect</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">to</em>, <em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\">permanent<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">preserve_request<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.shortcuts.redirect\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>渡された引数に対して、 適切な URLへの <a class=\"reference internal\" href=\"/ja/6.0/ref/request-response/#django.http.HttpResponseRedirect\" title=\"django.http.HttpResponseRedirect\"><code class=\"xref py py-class docutils literal notranslate\">HttpResponseRedirect</code></a> を返します。</p>\n<p>引数には以下が含まれます:</p>\n<ul class=\"simple\">\n<li><p>A model: the model's <a class=\"reference internal\" href=\"/ja/6.0/ref/models/instances/#django.db.models.Model.get_absolute_url\" title=\"django.db.models.Model.get_absolute_url\"><code class=\"xref py py-meth docutils literal notranslate\">get_absolute_url()</code></a>\nfunction will be called.</p></li>\n<li><p>ビュー名（引数を渡せます）: <a class=\"reference internal\" href=\"/ja/6.0/ref/urlresolvers/#django.urls.reverse\" title=\"django.urls.reverse\"><code class=\"xref py py-func docutils literal notranslate\">reverse()</code></a> を使って名前を逆解決します。</p></li>\n<li><p>絶対URLまたは相対URL。これはそのままリダイレクト先になります。</p></li>\n</ul>\n<p>デフォルトではステータスコード 302 の一時リダイレクトが発行されます。 <code class=\"docutils literal notranslate\">permanent=True</code> を指定すると、ステータスコード 301 の恒久リダイレクトが発行されます。</p>\n<p><code class=\"docutils literal notranslate\">preserve_request=True</code> を指定すると、レスポンスはリダイレクト時に元のリクエストのメソッドやボディを保持するようユーザーエージェントに指示します。この場合、一時リダイレクトにはステータスコード 307 が、恒久リダイレクトにはステータスコード 308 が使用されます。次の表のほうがわかりやすいでしょう：</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>permanent</p></th>\n<th class=\"head\"><p>preserve_request</p></th>\n<th class=\"head\"><p>HTTP ステータスコード</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\">True</code></p></td>\n<td><p><code class=\"docutils literal notranslate\">False</code></p></td>\n<td><p>301</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\">False</code></p></td>\n<td><p><code class=\"docutils literal notranslate\">False</code></p></td>\n<td><p>302</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\">False</code></p></td>\n<td><p><code class=\"docutils literal notranslate\">True</code></p></td>\n<td><p>307</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\">True</code></p></td>\n<td><p><code class=\"docutils literal notranslate\">True</code></p></td>\n<td><p>308</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<aside class=\"version-note version-changed\" data-version=\"5.2\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 5.2</p><p><code class=\"docutils literal notranslate\">preserve_request</code> 引数が追加されました。</p>\n</aside>\n</dd></dl>\n\n<section id=\"examples\">\n<h3>例<a class=\"heading-anchor\" href=\"#examples\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><a class=\"reference internal\" href=\"#django.shortcuts.redirect\" title=\"django.shortcuts.redirect\"><code class=\"xref py py-func docutils literal notranslate\">redirect()</code></a> 関数の使い方はいくつかあります。</p>\n<ol class=\"arabic\">\n<li><p>オブジェクトを渡すことで、そのオブジェクトの <a class=\"reference internal\" href=\"/ja/6.0/ref/models/instances/#django.db.models.Model.get_absolute_url\" title=\"django.db.models.Model.get_absolute_url\"><code class=\"xref py py-meth docutils literal notranslate\">get_absolute_url()</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=\"kn\">from</span> <span class=\"nn\">django.shortcuts</span> <span class=\"kn\">import</span> redirect\n\n\n<span class=\"k\">def</span> <span class=\"nf\">my_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n    obj <span class=\"o\">=</span> MyModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span><span class=\"o\">...</span><span class=\"p\">)</span>\n    <span class=\"k\">return</span> redirect<span class=\"p\">(</span>obj<span class=\"p\">)</span>\n</code></pre></div>\n</li>\n<li><p>ビューの名前と、オプションで位置引数またはキーワード引数を渡すことで、 <a class=\"reference internal\" href=\"/ja/6.0/ref/urlresolvers/#django.urls.reverse\" title=\"django.urls.reverse\"><code class=\"xref py py-func docutils literal notranslate\">reverse()</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=\"k\">def</span> <span class=\"nf\">my_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n    <span class=\"k\">return</span> redirect<span class=\"p\">(</span><span class=\"s2\">&quot;some-view-name&quot;</span><span class=\"p\">,</span> foo<span class=\"o\">=</span><span class=\"s2\">&quot;bar&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n</li>\n<li><p>リダイレクト先としてハードコーディングされた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=\"k\">def</span> <span class=\"nf\">my_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n    <span class=\"k\">return</span> redirect<span class=\"p\">(</span><span class=\"s2\">&quot;/some/url/&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>これは完全な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=\"k\">def</span> <span class=\"nf\">my_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n    <span class=\"k\">return</span> redirect<span class=\"p\">(</span><span class=\"s2\">&quot;https://example.com/&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n</li>\n</ol>\n<p>デフォルトでは <a class=\"reference internal\" href=\"#django.shortcuts.redirect\" title=\"django.shortcuts.redirect\"><code class=\"xref py py-func docutils literal notranslate\">redirect()</code></a> は一時的なリダイレクトを返します。上記のすべての形式で <code class=\"docutils literal notranslate\">permanent</code> 引数が使えます。 <code class=\"docutils literal notranslate\">True</code> に設定された場合、恒久的なリダイレクトを返します:</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=\"nf\">my_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n    obj <span class=\"o\">=</span> MyModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span><span class=\"o\">...</span><span class=\"p\">)</span>\n    <span class=\"k\">return</span> redirect<span class=\"p\">(</span>obj<span class=\"p\">,</span> permanent<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>さらに、 <code class=\"docutils literal notranslate\">preserve_request</code> 引数を使えば、元の HTTP メソッドを保持できます：</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=\"nf\">my_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    <span class=\"c1\"># ...</span>\n    obj <span class=\"o\">=</span> MyModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span><span class=\"o\">...</span><span class=\"p\">)</span>\n    <span class=\"k\">if</span> request<span class=\"o\">.</span>method <span class=\"ow\">in</span> <span class=\"p\">(</span><span class=\"s2\">&quot;POST&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;PUT&quot;</span><span class=\"p\">):</span>\n        <span class=\"c1\"># Redirection preserves the original request method.</span>\n        <span class=\"k\">return</span> redirect<span class=\"p\">(</span>obj<span class=\"p\">,</span> preserve_request<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n    <span class=\"c1\"># ...</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"resolve-url\">\n<h2><code class=\"docutils literal notranslate\">resolve_url()</code><a class=\"heading-anchor\" href=\"#resolve-url\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.shortcuts.resolve_url\">\n<span class=\"sig-name descname\">resolve_url</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">to</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.shortcuts.resolve_url\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns a URL string by resolving and normalizing the given <code class=\"docutils literal notranslate\">to</code> argument\ninto a concrete URL. The parameter <code class=\"docutils literal notranslate\">to</code> may be:</p>\n<ul class=\"simple\">\n<li><p>An object implementing <a class=\"reference internal\" href=\"/ja/6.0/ref/models/instances/#django.db.models.Model.get_absolute_url\" title=\"django.db.models.Model.get_absolute_url\"><code class=\"xref py py-meth docutils literal notranslate\">get_absolute_url()</code></a>,\nin which case the method will be called and its result returned.</p></li>\n<li><p>A view name, view function, or view class, possibly with arguments passed\nas <code class=\"docutils literal notranslate\">*args</code> and <code class=\"docutils literal notranslate\">**kwargs</code>, in which case <a class=\"reference internal\" href=\"/ja/6.0/ref/urlresolvers/#django.urls.reverse\" title=\"django.urls.reverse\"><code class=\"xref py py-func docutils literal notranslate\">reverse()</code></a>\nwill be used to reverse-resolve the view.</p></li>\n<li><p>A URL string, which will be returned unchanged.</p></li>\n</ul>\n<p>This function is used internally by the <a class=\"reference internal\" href=\"#django.shortcuts.redirect\" title=\"django.shortcuts.redirect\"><code class=\"xref py py-func docutils literal notranslate\">redirect()</code></a> shortcut to\ndetermine the target URL for the redirect location.</p>\n</dd></dl>\n\n<section id=\"id1\">\n<h3>例<a class=\"heading-anchor\" href=\"#id1\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<ol class=\"arabic\">\n<li><p>Resolving a URL for a model that defines\n<a class=\"reference internal\" href=\"/ja/6.0/ref/models/instances/#django.db.models.Model.get_absolute_url\" title=\"django.db.models.Model.get_absolute_url\"><code class=\"xref py py-meth docutils literal notranslate\">get_absolute_url()</code></a>:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\">models.py</code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n<span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> reverse\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Article</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    title <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">100</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">get_absolute_url</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> reverse<span class=\"p\">(</span><span class=\"s2\">&quot;article-detail&quot;</span><span class=\"p\">,</span> args<span class=\"o\">=</span><span class=\"p\">[</span><span class=\"bp\">self</span><span class=\"o\">.</span>pk<span class=\"p\">])</span>\n</code></pre></figure>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\">views.py</code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.http</span> <span class=\"kn\">import</span> JsonResponse\n<span class=\"kn\">from</span> <span class=\"nn\">django.shortcuts</span> <span class=\"kn\">import</span> get_object_or_404<span class=\"p\">,</span> resolve_url\n<span class=\"kn\">from</span> <span class=\"nn\">.models</span> <span class=\"kn\">import</span> Article\n\n\n<span class=\"k\">def</span> <span class=\"nf\">article_api_view</span><span class=\"p\">(</span>request<span class=\"p\">,</span> pk<span class=\"p\">):</span>\n    <span class=\"sd\">&quot;&quot;&quot;Return metadata about an article, including its canonical URL.&quot;&quot;&quot;</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>pk<span class=\"p\">)</span>\n    <span class=\"k\">return</span> JsonResponse<span class=\"p\">(</span>\n        <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;id&quot;</span><span class=\"p\">:</span> article<span class=\"o\">.</span>pk<span class=\"p\">,</span>\n            <span class=\"s2\">&quot;title&quot;</span><span class=\"p\">:</span> article<span class=\"o\">.</span>title<span class=\"p\">,</span>\n            <span class=\"s2\">&quot;url&quot;</span><span class=\"p\">:</span> resolve_url<span class=\"p\">(</span>article<span class=\"p\">),</span>\n        <span class=\"p\">}</span>\n    <span class=\"p\">)</span>\n</code></pre></figure>\n</li>\n<li><p>Resolving a target URL for use outside of a redirect, such as in an HTTP\nresponse header:</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</span> <span class=\"kn\">import</span> settings\n<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.shortcuts</span> <span class=\"kn\">import</span> resolve_url\n\n\n<span class=\"k\">def</span> <span class=\"nf\">login_success</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    response <span class=\"o\">=</span> HttpResponse<span class=\"p\">(</span><span class=\"s2\">&quot;Login successful&quot;</span><span class=\"p\">)</span>\n    response<span class=\"p\">[</span><span class=\"s2\">&quot;X-Next-URL&quot;</span><span class=\"p\">]</span> <span class=\"o\">=</span> resolve_url<span class=\"p\">(</span>settings<span class=\"o\">.</span>LOGIN_REDIRECT_URL<span class=\"p\">)</span>\n    <span class=\"k\">return</span> response\n</code></pre></div>\n</li>\n</ol>\n</section>\n</section>\n<section id=\"get-object-or-404\">\n<h2><code class=\"docutils literal notranslate\">get_object_or_404()</code><a class=\"heading-anchor\" href=\"#get-object-or-404\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.shortcuts.get_object_or_404\">\n<span class=\"sig-name descname\">get_object_or_404</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">klass</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.shortcuts.get_object_or_404\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.shortcuts.aget_object_or_404\">\n<span class=\"sig-name descname\">aget_object_or_404</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">klass</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.shortcuts.aget_object_or_404\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><em>非同期バージョン</em>: <code class=\"docutils literal notranslate\">aget_object_or_404()</code></p>\n<p>Calls <a class=\"reference internal\" href=\"/ja/6.0/ref/models/querysets/#django.db.models.query.QuerySet.get\" title=\"django.db.models.query.QuerySet.get\"><code class=\"xref py py-meth docutils literal notranslate\">get()</code></a> on a given model\nmanager, but it raises <a class=\"reference internal\" href=\"/ja/6.0/topics/http/views/#django.http.Http404\" title=\"django.http.Http404\"><code class=\"xref py py-class docutils literal notranslate\">Http404</code></a> instead of the model's\n<a class=\"reference internal\" href=\"/ja/6.0/ref/models/class/#django.db.models.Model.DoesNotExist\" title=\"django.db.models.Model.DoesNotExist\"><code class=\"xref py py-class docutils literal notranslate\">DoesNotExist</code></a> exception.</p>\n</dd></dl>\n\n<section id=\"arguments\">\n<h3>引数<a class=\"heading-anchor\" href=\"#arguments\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\">klass</code></dt><dd><p>オブジェクトを取得するための <a class=\"reference internal\" href=\"/ja/6.0/ref/models/instances/#django.db.models.Model\" title=\"django.db.models.Model\"><code class=\"xref py py-class docutils literal notranslate\">Model</code></a> クラス、 <a class=\"reference internal\" href=\"/ja/6.0/topics/db/managers/#django.db.models.Manager\" title=\"django.db.models.Manager\"><code class=\"xref py py-class docutils literal notranslate\">Manager</code></a> または <a class=\"reference internal\" href=\"/ja/6.0/ref/models/querysets/#django.db.models.query.QuerySet\" title=\"django.db.models.query.QuerySet\"><code class=\"xref py py-class docutils literal notranslate\">QuerySet</code></a> インスタンスです。</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\">*args</code></dt><dd><p><a class=\"reference internal\" href=\"/ja/6.0/ref/models/querysets/#django.db.models.Q\" title=\"django.db.models.Q\"><code class=\"xref py py-class docutils literal notranslate\">Q オブジェクト</code></a> 。</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\">**kwargs</code></dt><dd><p>ルックアップパラメータ。 <code class=\"docutils literal notranslate\">get()</code> および <code class=\"docutils literal notranslate\">filter()</code> が受入可能なフォーマットにします。</p>\n</dd>\n</dl>\n</section>\n<section id=\"id2\">\n<h3>カスタマイズ例<a class=\"heading-anchor\" href=\"#id2\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>以下の例では <code class=\"docutils literal notranslate\">MyModel</code> から主キーが 1 のオブジェクトを取得しています:</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\n\n<span class=\"k\">def</span> <span class=\"nf\">my_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    obj <span class=\"o\">=</span> get_object_or_404<span class=\"p\">(</span>MyModel<span class=\"p\">,</span> pk<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n</code></pre></div>\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=\"kn\">from</span> <span class=\"nn\">django.http</span> <span class=\"kn\">import</span> Http404\n\n\n<span class=\"k\">def</span> <span class=\"nf\">my_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    <span class=\"k\">try</span><span class=\"p\">:</span>\n        obj <span class=\"o\">=</span> MyModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>pk<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n    <span class=\"k\">except</span> MyModel<span class=\"o\">.</span>DoesNotExist<span class=\"p\">:</span>\n        <span class=\"k\">raise</span> Http404<span class=\"p\">(</span><span class=\"s2\">&quot;No MyModel matches the given query.&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>最もよくある使用例は、上記のように <a class=\"reference internal\" href=\"/ja/6.0/ref/models/instances/#django.db.models.Model\" title=\"django.db.models.Model\"><code class=\"xref py py-class docutils literal notranslate\">Model</code></a> を渡すものです。しかし、 <a class=\"reference internal\" href=\"/ja/6.0/ref/models/querysets/#django.db.models.query.QuerySet\" title=\"django.db.models.query.QuerySet\"><code class=\"xref py py-class docutils literal notranslate\">QuerySet</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>queryset <span class=\"o\">=</span> Book<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>title__startswith<span class=\"o\">=</span><span class=\"s2\">&quot;M&quot;</span><span class=\"p\">)</span>\nget_object_or_404<span class=\"p\">(</span>queryset<span class=\"p\">,</span> pk<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n</code></pre></div>\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>get_object_or_404<span class=\"p\">(</span>Book<span class=\"p\">,</span> title__startswith<span class=\"o\">=</span><span class=\"s2\">&quot;M&quot;</span><span class=\"p\">,</span> pk<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>しかし、他の場所から <code class=\"docutils literal notranslate\">QuerySet</code> 変数を渡された場合には便利です。</p>\n<p>最後に、 <a class=\"reference internal\" href=\"/ja/6.0/topics/db/managers/#django.db.models.Manager\" title=\"django.db.models.Manager\"><code class=\"xref py py-class docutils literal notranslate\">Manager</code></a> を使うこともできます。これは例えば <a class=\"reference internal\" href=\"/ja/6.0/topics/db/managers/#custom-managers\"><span class=\"std std-ref\">カスタムマネージャ</span></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>get_object_or_404<span class=\"p\">(</span>Book<span class=\"o\">.</span>dahl_objects<span class=\"p\">,</span> title<span class=\"o\">=</span><span class=\"s2\">&quot;Matilda&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p><a class=\"reference internal\" href=\"/ja/6.0/ref/models/relations/#django.db.models.fields.related.RelatedManager\" title=\"django.db.models.fields.related.RelatedManager\"><code class=\"xref py py-class docutils literal notranslate\">関係マネージャ</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>author <span class=\"o\">=</span> Author<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>name<span class=\"o\">=</span><span class=\"s2\">&quot;Roald Dahl&quot;</span><span class=\"p\">)</span>\nget_object_or_404<span class=\"p\">(</span>author<span class=\"o\">.</span>book_set<span class=\"p\">,</span> title<span class=\"o\">=</span><span class=\"s2\">&quot;Matilda&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>注意: <code class=\"docutils literal notranslate\">get()</code> と同様に、複数のオブジェクトが見つかった場合は <a class=\"reference internal\" href=\"/ja/6.0/ref/exceptions/#django.core.exceptions.MultipleObjectsReturned\" title=\"django.core.exceptions.MultipleObjectsReturned\"><code class=\"xref py py-class docutils literal notranslate\">MultipleObjectsReturned</code></a> 例外が発生します。</p>\n</section>\n</section>\n<section id=\"get-list-or-404\">\n<h2><code class=\"docutils literal notranslate\">get_list_or_404()</code><a class=\"heading-anchor\" href=\"#get-list-or-404\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.shortcuts.get_list_or_404\">\n<span class=\"sig-name descname\">get_list_or_404</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">klass</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.shortcuts.get_list_or_404\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.shortcuts.aget_list_or_404\">\n<span class=\"sig-name descname\">aget_list_or_404</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">klass</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.shortcuts.aget_list_or_404\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><em>非同期バージョン</em>: <code class=\"docutils literal notranslate\">aget_list_or_404()</code></p>\n<p>Returns the result of <a class=\"reference internal\" href=\"/ja/6.0/ref/models/querysets/#django.db.models.query.QuerySet.filter\" title=\"django.db.models.query.QuerySet.filter\"><code class=\"xref py py-meth docutils literal notranslate\">filter()</code></a> on\na given model manager cast to a list, raising <a class=\"reference internal\" href=\"/ja/6.0/topics/http/views/#django.http.Http404\" title=\"django.http.Http404\"><code class=\"xref py py-class docutils literal notranslate\">Http404</code></a>\nif the resulting list is empty.</p>\n</dd></dl>\n\n<section id=\"id3\">\n<h3>引数<a class=\"heading-anchor\" href=\"#id3\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\">klass</code></dt><dd><p>リストを取得するための <a class=\"reference internal\" href=\"/ja/6.0/ref/models/instances/#django.db.models.Model\" title=\"django.db.models.Model\"><code class=\"xref py py-class docutils literal notranslate\">Model</code></a>, <a class=\"reference internal\" href=\"/ja/6.0/topics/db/managers/#django.db.models.Manager\" title=\"django.db.models.Manager\"><code class=\"xref py py-class docutils literal notranslate\">Manager</code></a> または <a class=\"reference internal\" href=\"/ja/6.0/ref/models/querysets/#django.db.models.query.QuerySet\" title=\"django.db.models.query.QuerySet\"><code class=\"xref py py-class docutils literal notranslate\">QuerySet</code></a> インスタンスです。</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\">*args</code></dt><dd><p><a class=\"reference internal\" href=\"/ja/6.0/ref/models/querysets/#django.db.models.Q\" title=\"django.db.models.Q\"><code class=\"xref py py-class docutils literal notranslate\">Q オブジェクト</code></a> 。</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\">**kwargs</code></dt><dd><p>ルックアップパラメータ。 <code class=\"docutils literal notranslate\">get()</code> および <code class=\"docutils literal notranslate\">filter()</code> が受入可能なフォーマットにします。</p>\n</dd>\n</dl>\n</section>\n<section id=\"id4\">\n<h3>カスタマイズ例<a class=\"heading-anchor\" href=\"#id4\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>以下の例では <code class=\"docutils literal notranslate\">MyModel</code> から全ての公開されたオブジェクトを取得しています:</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_list_or_404\n\n\n<span class=\"k\">def</span> <span class=\"nf\">my_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    my_objects <span class=\"o\">=</span> get_list_or_404<span class=\"p\">(</span>MyModel<span class=\"p\">,</span> published<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\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=\"kn\">from</span> <span class=\"nn\">django.http</span> <span class=\"kn\">import</span> Http404\n\n\n<span class=\"k\">def</span> <span class=\"nf\">my_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    my_objects <span class=\"o\">=</span> <span class=\"nb\">list</span><span class=\"p\">(</span>MyModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>published<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">))</span>\n    <span class=\"k\">if</span> <span class=\"ow\">not</span> my_objects<span class=\"p\">:</span>\n        <span class=\"k\">raise</span> Http404<span class=\"p\">(</span><span class=\"s2\">&quot;No MyModel matches the given query.&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n</section>","rootId":"module-django.shortcuts","toc":[{"title":"render()","anchor":"render","children":[{"title":"必須の引数","anchor":"required-arguments","children":[]},{"title":"オプションの引数","anchor":"optional-arguments","children":[]},{"title":"カスタマイズ例","anchor":"example","children":[]}]},{"title":"redirect()","anchor":"redirect","children":[{"title":"例","anchor":"examples","children":[]}]},{"title":"resolve_url()","anchor":"resolve-url","children":[{"title":"例","anchor":"id1","children":[]}]},{"title":"get_object_or_404()","anchor":"get-object-or-404","children":[{"title":"引数","anchor":"arguments","children":[]},{"title":"カスタマイズ例","anchor":"id2","children":[]}]},{"title":"get_list_or_404()","anchor":"get-list-or-404","children":[{"title":"引数","anchor":"id3","children":[]},{"title":"カスタマイズ例","anchor":"id4","children":[]}]}],"breadcrumbs":[{"docname":"topics/index","title":"Django を使う","url":"/ja/6.0/topics/"},{"docname":"topics/http/index","title":"HTTP リクエストのハンドリング","url":"/ja/6.0/topics/http/"}],"prev":{"docname":"topics/http/file-uploads","title":"ファイルのアップロード","url":"/ja/6.0/topics/http/file-uploads/"},"next":{"docname":"topics/http/generic-views","title":"ジェネリックビュー (汎用ビュー)","url":"/ja/6.0/topics/http/generic-views/"},"formats":{"html":"/ja/6.0/topics/http/shortcuts/","markdown":"/ja/6.0/topics/http/shortcuts.md","json":"/ja/6.0/topics/http/shortcuts.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/topics/http/shortcuts.txt","official":"https://docs.djangoproject.com/ja/6.0/topics/http/shortcuts/","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"]}