{"title":"staticfiles アプリ","version":"5.0","locale":"ja","docname":"ref/contrib/staticfiles","url":"/ja/5.0/ref/contrib/staticfiles/","canonical":"https://djangodocs.dev/ja/5.0/ref/contrib/staticfiles/","summary":"django.contrib.staticfiles は、各アプリケーション（と、あらかじめ指定した他の場所）から静的ファイルを収集し、本番環境で簡単に提供できるように一か所にまとめます。 参考 静的ファイルアプリの導入と活用例については、 静的ファイル (画像、JavaScript、CSS など) を管理する…","html":"<span id=\"the-staticfiles-app\"></span><h1><code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> アプリ<a class=\"heading-anchor\" href=\"#module-django.contrib.staticfiles\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles</span></code> は、各アプリケーション（と、あらかじめ指定した他の場所）から静的ファイルを収集し、本番環境で簡単に提供できるように一か所にまとめます。</p>\n<aside class=\"admonition admonition-seealso\">\n<p class=\"admonition-title\">参考</p>\n<p>静的ファイルアプリの導入と活用例については、 <a class=\"reference internal\" href=\"/ja/5.0/howto/static-files/\"><span class=\"doc\">静的ファイル (画像、JavaScript、CSS など) を管理する</span></a> を参照してください。静的ファイルのデプロイに関するガイドラインについては、 <a class=\"reference internal\" href=\"/ja/5.0/howto/static-files/deployment/\"><span class=\"doc\">静的ファイルをデプロイする</span></a> を参照してください。</p>\n</aside>\n<section id=\"settings\">\n<span id=\"staticfiles-settings\"></span><h2>設定<a class=\"heading-anchor\" href=\"#settings\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>次の設定に関する詳細については、 <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#settings-staticfiles\"><span class=\"std std-ref\">静的ファイルの設定</span></a> を参照してください。</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STORAGES</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_ROOT</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATICFILES_DIRS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATICFILES_DIRS</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATICFILES_STORAGE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATICFILES_STORAGE</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATICFILES_FINDERS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATICFILES_FINDERS</span></code></a></p></li>\n</ul>\n</section>\n<section id=\"management-commands\">\n<h2>管理コマンド<a class=\"heading-anchor\" href=\"#management-commands\"><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\">django.contrib.staticfiles</span></code> は3つの管理コマンドを提供します。</p>\n<section id=\"collectstatic\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code><a class=\"heading-anchor\" href=\"#collectstatic\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-collectstatic\">\n<span class=\"sig-name descname\"><span class=\"pre\">django-admin</span> <span class=\"pre\">collectstatic</span></span><a class=\"heading-anchor\" href=\"#django-admin-collectstatic\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>静的ファイルを <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_ROOT</span></code></a> に収集します。</p>\n<p>デフォルトでは、重複するファイル名はテンプレートの解決方法と同様に処理されます。すなわち、指定された場所のいずれかで最初に見つかったファイルが使用されます。どのファイルが反映されたかわからない場合は、 <a class=\"reference internal\" href=\"#django-admin-findstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">findstatic</span></code></a> コマンドを使用して、どのファイルが適用されたかを確認できます。</p>\n<p>その後、再度 <code class=\"docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code> を実行すると、（ <code class=\"docutils literal notranslate\"><span class=\"pre\">STATIC_ROOT</span></code> が空でない限り）収集元のファイルは、そのタイムスタンプが <code class=\"docutils literal notranslate\"><span class=\"pre\">STATIC_ROOT</span></code> にあるファイルのタイムスタンプよりも後の日時であるときのみコピーされます。そのため、 <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a> からアプリケーションを削除するときは、 <a class=\"reference internal\" href=\"#cmdoption-collectstatic-clear\"><code class=\"xref std std-option docutils literal notranslate\"><span class=\"pre\">collectstatic</span> <span class=\"pre\">--clear</span></code></a> を実行することで古い静的ファイルを削除すると良いでしょう。</p>\n<p>ファイルの検索には、 <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATICFILES_FINDERS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">有効化された検索システム</span></code></a> が使用されます。デフォルトでは、 <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATICFILES_DIRS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATICFILES_DIRS</span></code></a> で定義されたすべての場所と、 <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a> 設定で指定されたアプリケーションの <code class=\"docutils literal notranslate\"><span class=\"pre\">'static'</span></code> ディレクトリを参照します。</p>\n<p><a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code></a> コマンドは、実行するたび <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STORAGES</span></code></a> から <code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> ストレージバックエンドの <a class=\"reference internal\" href=\"#django.contrib.staticfiles.storage.StaticFilesStorage.post_process\" title=\"django.contrib.staticfiles.storage.StaticFilesStorage.post_process\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">post_process()</span></code></a> メソッドを呼び出し、この管理コマンドによって見つかったファイルパスのリストを返します。同時に、 <a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code></a> のすべてのコマンドラインオプションを受け取ります。このオプションは、デフォルトでは <a class=\"reference internal\" href=\"#django.contrib.staticfiles.storage.ManifestStaticFilesStorage\" title=\"django.contrib.staticfiles.storage.ManifestStaticFilesStorage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ManifestStaticFilesStorage</span></code></a> に渡されます。</p>\n<p>デフォルトでは、収集されたファイルは <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-FILE_UPLOAD_PERMISSIONS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">FILE_UPLOAD_PERMISSIONS</span></code></a> から、収集されたディレクトリは <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-FILE_UPLOAD_DIRECTORY_PERMISSIONS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">FILE_UPLOAD_DIRECTORY_PERMISSIONS</span></code></a> からアクセス許可を受け取ります。これらのファイルまたはディレクトリに異なるアクセス許可を設定したい場合は、<a class=\"reference internal\" href=\"#staticfiles-storages\"><span class=\"std std-ref\">静的ファイルストレージのクラス</span></a> のいずれかをサブクラス化し、それぞれ <code class=\"docutils literal notranslate\"><span class=\"pre\">file_permissions_mode</span></code> および/または <code class=\"docutils literal notranslate\"><span class=\"pre\">directory_permissions_mode</span></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=\"w\"> </span><span class=\"nn\">django.contrib.staticfiles</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">storage</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">MyStaticFilesStorage</span><span class=\"p\">(</span><span class=\"n\">storage</span><span class=\"o\">.</span><span class=\"n\">StaticFilesStorage</span><span class=\"p\">):</span>\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"o\">*</span><span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">):</span>\n        <span class=\"n\">kwargs</span><span class=\"p\">[</span><span class=\"s2\">&quot;file_permissions_mode&quot;</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mo\">0o640</span>\n        <span class=\"n\">kwargs</span><span class=\"p\">[</span><span class=\"s2\">&quot;directory_permissions_mode&quot;</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mo\">0o760</span>\n        <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"o\">*</span><span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>次に、 <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STORAGES</span></code></a> 設定で <code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> ストレージバックエンドを <code class=\"docutils literal notranslate\"><span class=\"pre\">'path.to.MyStaticFilesStorage'</span></code> と指定してください。</p>\n<p>この管理コマンドでよく使われるオプションをいくつか示します。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-collectstatic-noinput\">\n<span id=\"cmdoption-collectstatic-no-input\"></span><span class=\"sig-name descname\"><span class=\"pre\">--noinput</span></span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\"><span class=\"pre\">,</span> </span><span class=\"sig-name descname\"><span class=\"pre\">--no-input</span></span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-collectstatic-noinput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ユーザーにいかなる入力も要求せずに処理を実行します。</p>\n</dd></dl>\n\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-collectstatic-ignore\">\n<span id=\"cmdoption-collectstatic-i\"></span><span class=\"sig-name descname\"><span class=\"pre\">--ignore</span></span><span class=\"sig-prename descclassname\"> <span class=\"pre\">PATTERN</span></span><span class=\"sig-prename descclassname\"><span class=\"pre\">,</span> </span><span class=\"sig-name descname\"><span class=\"pre\">-i</span></span><span class=\"sig-prename descclassname\"> <span class=\"pre\">PATTERN</span></span><a class=\"heading-anchor\" href=\"#cmdoption-collectstatic-ignore\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>指定した glob スタイルのパターンに一致するファイル、ディレクトリ、またはパスからの収集を行わないようにします。対象外のパターンが複数ある場合は、その数だけ指定してください。また、パスを指定するとき、Windowsでも常にスラッシュを使用してください。</p>\n</dd></dl>\n\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-collectstatic-dry-run\">\n<span id=\"cmdoption-collectstatic-n\"></span><span class=\"sig-name descname\"><span class=\"pre\">--dry-run</span></span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\"><span class=\"pre\">,</span> </span><span class=\"sig-name descname\"><span class=\"pre\">-n</span></span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-collectstatic-dry-run\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ファイルシステムを変更すること以外の全てを行います。</p>\n</dd></dl>\n\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-collectstatic-clear\">\n<span id=\"cmdoption-collectstatic-c\"></span><span class=\"sig-name descname\"><span class=\"pre\">--clear</span></span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\"><span class=\"pre\">,</span> </span><span class=\"sig-name descname\"><span class=\"pre\">-c</span></span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-collectstatic-clear\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>既存のファイルを削除してから、元のファイルをコピーまたはリンクします。</p>\n</dd></dl>\n\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-collectstatic-link\">\n<span id=\"cmdoption-collectstatic-l\"></span><span class=\"sig-name descname\"><span class=\"pre\">--link</span></span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\"><span class=\"pre\">,</span> </span><span class=\"sig-name descname\"><span class=\"pre\">-l</span></span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-collectstatic-link\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>各ファイルをコピーする代わりに、シンボリックリンクを作成します。</p>\n</dd></dl>\n\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-collectstatic-no-post-process\">\n<span class=\"sig-name descname\"><span class=\"pre\">--no-post-process</span></span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-collectstatic-no-post-process\"><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/5.0/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STORAGES</span></code></a> に設定された <code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> ストレージバックエンドの <a class=\"reference internal\" href=\"#django.contrib.staticfiles.storage.StaticFilesStorage.post_process\" title=\"django.contrib.staticfiles.storage.StaticFilesStorage.post_process\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">post_process()</span></code></a> メソッドを呼び出さないようにします。</p>\n</dd></dl>\n\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-collectstatic-no-default-ignore\">\n<span class=\"sig-name descname\"><span class=\"pre\">--no-default-ignore</span></span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-collectstatic-no-default-ignore\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>一般的なプライベート glob スタイルのパターンである <code class=\"docutils literal notranslate\"><span class=\"pre\">'CVS'</span></code> 、 <code class=\"docutils literal notranslate\"><span class=\"pre\">'.*'</span></code> および <code class=\"docutils literal notranslate\"><span class=\"pre\">'*~'</span></code> を収集対象外としないようにします。</p>\n</dd></dl>\n\n<p>すべてのオプションのリストは、次のコマンドを実行してコマンドのヘルプから参照してください。</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-0-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>collectstatic<span class=\"w\"> </span>--help\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-0-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py collectstatic --help\n</code></pre></div></div></div>\n<section id=\"customizing-the-ignored-pattern-list\">\n<span id=\"customize-staticfiles-ignore-patterns\"></span><h4>無視パターンリストをカスタマイズする<a class=\"heading-anchor\" href=\"#customizing-the-ignored-pattern-list\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>デフォルトの無視パターンリストは <code class=\"docutils literal notranslate\"><span class=\"pre\">['CVS',</span> <span class=\"pre\">'.*',</span> <span class=\"pre\">'*~']</span></code> ですが、これは <code class=\"docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code> の呼び出しのたびに <code class=\"docutils literal notranslate\"><span class=\"pre\">--ignore</span></code> オプションを指定することなく、より永続的な方法でカスタマイズできます。以下のように、 <code class=\"docutils literal notranslate\"><span class=\"pre\">ignore_patterns</span></code> 属性をオーバーライドしたカスタムの <a class=\"reference internal\" href=\"/ja/5.0/ref/applications/#django.apps.AppConfig\" title=\"django.apps.AppConfig\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AppConfig</span></code></a> クラスを実装し、 <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a> 設定で <code class=\"docutils literal notranslate\"><span class=\"pre\">'django.contrib.staticfiles'</span></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=\"w\"> </span><span class=\"nn\">django.contrib.staticfiles.apps</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">StaticFilesConfig</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">MyStaticFilesConfig</span><span class=\"p\">(</span><span class=\"n\">StaticFilesConfig</span><span class=\"p\">):</span>\n    <span class=\"n\">ignore_patterns</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"o\">...</span><span class=\"p\">]</span>  <span class=\"c1\"># your custom ignore list</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"findstatic\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">findstatic</span></code><a class=\"heading-anchor\" href=\"#findstatic\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-findstatic\">\n<span class=\"sig-name descname\"><span class=\"pre\">django-admin</span> <span class=\"pre\">findstatic</span> <span class=\"pre\">staticfile</span> <span class=\"pre\">[staticfile</span> <span class=\"pre\">...]</span></span><a class=\"heading-anchor\" href=\"#django-admin-findstatic\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>有効な検索機能を使用して、1つ以上の相対パスを検索します。</p>\n<p>例:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-1-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>findstatic<span class=\"w\"> </span>css/base.css<span class=\"w\"> </span>admin/js/core.js\n<span class=\"go\">Found &#39;css/base.css&#39; here:</span>\n<span class=\"go\">  /home/special.polls.com/core/static/css/base.css</span>\n<span class=\"go\">  /home/polls.com/core/static/css/base.css</span>\n<span class=\"go\">Found &#39;admin/js/core.js&#39; here:</span>\n<span class=\"go\">  /home/polls.com/src/django/contrib/admin/media/js/core.js</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-1-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py findstatic css\\base.css admin\\js\\core.js\n<span class=\"go\">Found &#39;css/base.css&#39; here:</span>\n<span class=\"go\">  /home/special.polls.com/core/static/css/base.css</span>\n<span class=\"go\">  /home/polls.com/core/static/css/base.css</span>\n<span class=\"go\">Found &#39;admin/js/core.js&#39; here:</span>\n<span class=\"go\">  /home/polls.com/src/django/contrib/admin/media/js/core.js</span>\n</code></pre></div></div></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-findstatic-arg-findstatic\">\n<span class=\"sig-name descname\"><span class=\"pre\">findstatic</span></span><span class=\"sig-prename descclassname\"> <span class=\"pre\">--first</span></span><a class=\"heading-anchor\" href=\"#cmdoption-findstatic-arg-findstatic\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>デフォルトでは、一致するすべてのファイルのパスが表示されます。最初に見つかったファイルの相対パスだけを返すには、 <code class=\"docutils literal notranslate\"><span class=\"pre\">--first</span></code> オプションを使用してください。</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-2-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>findstatic<span class=\"w\"> </span>css/base.css<span class=\"w\"> </span>--first\n<span class=\"go\">Found &#39;css/base.css&#39; here:</span>\n<span class=\"go\">  /home/special.polls.com/core/static/css/base.css</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-2-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py findstatic css\\base.css --first\n<span class=\"go\">Found &#39;css/base.css&#39; here:</span>\n<span class=\"go\">  /home/special.polls.com/core/static/css/base.css</span>\n</code></pre></div></div></div>\n<p>指定したパスに対して収集された静的ファイルが正確に表示されるので、デバッグの助けになります。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">--verbosity</span></code> フラグを 0 に設定することで、追加の出力を抑制し、パス名のみを取得できます。</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-3-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>findstatic<span class=\"w\"> </span>css/base.css<span class=\"w\"> </span>--verbosity<span class=\"w\"> </span><span class=\"m\">0</span>\n<span class=\"go\">/home/special.polls.com/core/static/css/base.css</span>\n<span class=\"go\">/home/polls.com/core/static/css/base.css</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-3-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py findstatic css\\base.css --verbosity 0\n<span class=\"go\">/home/special.polls.com/core/static/css/base.css</span>\n<span class=\"go\">/home/polls.com/core/static/css/base.css</span>\n</code></pre></div></div></div>\n<p>一方、 <code class=\"docutils literal notranslate\"><span class=\"pre\">--verbosity</span></code> フラグを2に設定することで、検索されたすべてのディレクトリを取得することもできます。</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-4-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>findstatic<span class=\"w\"> </span>css/base.css<span class=\"w\"> </span>--verbosity<span class=\"w\"> </span><span class=\"m\">2</span>\n<span class=\"go\">Found &#39;css/base.css&#39; here:</span>\n<span class=\"go\">  /home/special.polls.com/core/static/css/base.css</span>\n<span class=\"go\">  /home/polls.com/core/static/css/base.css</span>\n<span class=\"go\">Looking in the following locations:</span>\n<span class=\"go\">  /home/special.polls.com/core/static</span>\n<span class=\"go\">  /home/polls.com/core/static</span>\n<span class=\"go\">  /some/other/path/static</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-4-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py findstatic css\\base.css --verbosity 2\n<span class=\"go\">Found &#39;css/base.css&#39; here:</span>\n<span class=\"go\">  /home/special.polls.com/core/static/css/base.css</span>\n<span class=\"go\">  /home/polls.com/core/static/css/base.css</span>\n<span class=\"go\">Looking in the following locations:</span>\n<span class=\"go\">  /home/special.polls.com/core/static</span>\n<span class=\"go\">  /home/polls.com/core/static</span>\n<span class=\"go\">  /some/other/path/static</span>\n</code></pre></div></div></div>\n</section>\n<section id=\"runserver\">\n<span id=\"staticfiles-runserver\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">runserver</span></code><a class=\"heading-anchor\" href=\"#runserver\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\">\n<span class=\"sig-name descname\"><span class=\"pre\">django-admin</span> <span class=\"pre\">runserver</span> <span class=\"pre\">[addrport]</span></span></dt>\n<dd></dd></dl>\n\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> アプリケーションが <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">インストール</span></code></a> されている場合、 <a class=\"reference internal\" href=\"/ja/5.0/ref/django-admin/#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">runserver</span></code></a> コマンドを上書きし、静的ファイルの自動サービスを追加します。ファイルのサービスは <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-MIDDLEWARE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE</span></code></a> を経由しません。</p>\n<p>このコマンドには、以下のオプションが追加されています。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-runserver-nostatic\">\n<span class=\"sig-name descname\"><span class=\"pre\">--nostatic</span></span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-runserver-nostatic\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">--nostatic</span></code> オプションを使用すると、 <a class=\"reference internal\" href=\"/ja/5.0/ref/contrib/staticfiles/\"><span class=\"doc\">staticfiles</span></a> アプリケーションによる静的ファイルの配信を完全に無効にします。このオプションは、 <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a> 設定に <a class=\"reference internal\" href=\"/ja/5.0/ref/contrib/staticfiles/\"><span class=\"doc\">staticfiles</span></a> アプリケーションが含まれている場合にのみ利用可能です。</p>\n<p>使用例:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-5-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>django-admin<span class=\"w\"> </span>runserver<span class=\"w\"> </span>--nostatic\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-5-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> django-admin runserver --nostatic\n</code></pre></div></div></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-runserver-insecure\">\n<span class=\"sig-name descname\"><span class=\"pre\">--insecure</span></span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-runserver-insecure\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">--insecure</span></code> オプションを使用すると、 <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> 設定が <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> の場合でも、静的ファイルを強制的に <a class=\"reference internal\" href=\"/ja/5.0/ref/contrib/staticfiles/\"><span class=\"doc\">staticfiles</span></a> アプリで配信します。これを使用する場合、 <strong>非常に非効率的</strong> で、おそらく <strong>安全ではない</strong> ことを受け入れる必要があります。これはローカル開発のみを目的としているので、 <strong>本番環境では使用しないでください</strong> 。また、 <a class=\"reference internal\" href=\"/ja/5.0/ref/contrib/staticfiles/\"><span class=\"doc\">staticfiles</span></a> アプリがプロジェクトの <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a> 設定に含まれている場合のみ利用可能です。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">--insecure</span></code> オプションは <a class=\"reference internal\" href=\"#django.contrib.staticfiles.storage.ManifestStaticFilesStorage\" title=\"django.contrib.staticfiles.storage.ManifestStaticFilesStorage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ManifestStaticFilesStorage</span></code></a> と同時に使用することはできません。</p>\n<p>使用例:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-6-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>django-admin<span class=\"w\"> </span>runserver<span class=\"w\"> </span>--insecure\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-6-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> django-admin runserver --insecure\n</code></pre></div></div></div>\n</section>\n</section>\n<section id=\"storages\">\n<span id=\"staticfiles-storages\"></span><h2>ストレージ<a class=\"heading-anchor\" href=\"#storages\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"staticfilesstorage\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">StaticFilesStorage</span></code><a class=\"heading-anchor\" href=\"#staticfilesstorage\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.staticfiles.storage.StaticFilesStorage\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">storage.</span></span><span class=\"sig-name descname\"><span class=\"pre\">StaticFilesStorage</span></span><a class=\"heading-anchor\" href=\"#django.contrib.staticfiles.storage.StaticFilesStorage\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><a class=\"reference internal\" href=\"/ja/5.0/ref/files/storage/#django.core.files.storage.FileSystemStorage\" title=\"django.core.files.storage.FileSystemStorage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileSystemStorage</span></code></a> ストレージバックエンドのサブクラスです。 <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_ROOT</span></code></a> 設定を基本ファイルシステムの場所として、<a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a> 設定を基本URLとして使用します。</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.staticfiles.storage.StaticFilesStorage.post_process\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">storage.StaticFilesStorage.</span></span><span class=\"sig-name descname\"><span class=\"pre\">post_process</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">paths</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.staticfiles.storage.StaticFilesStorage.post_process\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>このメソッドがストレージ上で定義されている場合は、 <a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code></a> 管理コマンドが実行されるたびに呼び出され、見つかったファイルのローカルストレージとパス、およびコマンドラインオプションが辞書として渡されます。この処理は <code class=\"docutils literal notranslate\"><span class=\"pre\">original_path</span></code> 、 <code class=\"docutils literal notranslate\"><span class=\"pre\">processed_path</span></code> 、 <code class=\"docutils literal notranslate\"><span class=\"pre\">processed</span></code> の3つの値のタプルを生成します。パスの値は文字列であり、 <code class=\"docutils literal notranslate\"><span class=\"pre\">processed</span></code> は値が事後処理されたかどうかを示すブール値であり、事後処理が失敗した場合は例外が格納されます。</p>\n<p><a class=\"reference internal\" href=\"#django.contrib.staticfiles.storage.ManifestStaticFilesStorage\" title=\"django.contrib.staticfiles.storage.ManifestStaticFilesStorage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ManifestStaticFilesStorage</span></code></a> は、これを裏で使用してパスをハッシュ化された対応するパスに置き換え、キャッシュを適切に更新します。</p>\n</section>\n<section id=\"manifeststaticfilesstorage\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">ManifestStaticFilesStorage</span></code><a class=\"heading-anchor\" href=\"#manifeststaticfilesstorage\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.staticfiles.storage.ManifestStaticFilesStorage\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">storage.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ManifestStaticFilesStorage</span></span><a class=\"heading-anchor\" href=\"#django.contrib.staticfiles.storage.ManifestStaticFilesStorage\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><a class=\"reference internal\" href=\"#django.contrib.staticfiles.storage.StaticFilesStorage\" title=\"django.contrib.staticfiles.storage.StaticFilesStorage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">StaticFilesStorage</span></code></a> のストレージバックエンドのサブクラスです。ファイル名を処理する際に、ファイルの内容のMD5ハッシュをファイル名に追加して保存します。たとえば、ファイル <code class=\"docutils literal notranslate\"><span class=\"pre\">css/styles.css</span></code> は <code class=\"docutils literal notranslate\"><span class=\"pre\">css/styles.55e7cbb9ba48.css</span></code> として保存されます。</p>\n<p>このストレージの目的は、古いファイルを提供し続けることです。なぜなら、古いファイルはあなたや第三者のプロキシサーバによってキャッシュされており、いくつかのページがまだそれらのファイルを参照することがあるからです。また、展開されたファイルに <a class=\"reference external\" href=\"https://developer.yahoo.com/performance/rules.html#expires\">far future Expires headers</a> を適用して、次回のページ訪問の読み込み時間を高速化する場合にも非常に役立ちます。</p>\n<p>保存されたファイル内のパスが他の保存されたファイルと一致する場合、ストレージバックエンドは自動的にキャッシュされたコピーのパスでそれらのパスを置き換えます（このとき、 <a class=\"reference internal\" href=\"#django.contrib.staticfiles.storage.StaticFilesStorage.post_process\" title=\"django.contrib.staticfiles.storage.StaticFilesStorage.post_process\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">post_process()</span></code></a> メソッドを使用）。これらのパスを検索するために使用される正規表現（ <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles.storage.HashedFilesMixin.patterns</span></code> ）は以下に対応しています。</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference external\" href=\"https://www.w3.org/TR/CSS2/cascade.html#at-import\">&#64;import</a> ルールと <a class=\"reference external\" href=\"https://www.w3.org/TR/CSS2/syndata.html#uri\">url()</a> ステートメントの <a class=\"reference external\" href=\"https://www.w3.org/Style/CSS/\">Cascading Style Sheets</a></p></li>\n<li><p>CSS および JavaScript ファイル内の <a class=\"reference external\" href=\"https://firefox-source-docs.mozilla.org/devtools-user/debugger/how_to/use_a_source_map/\">Source map</a> コメント</p></li>\n</ul>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">ManifestStaticFilesStorage</span></code> のサブクラスを作成し、 <code class=\"docutils literal notranslate\"><span class=\"pre\">support_js_module_import_aggregation</span></code> 属性を <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> に設定すると、実験的な正規表現を使用して以下にも対応できます。</p>\n<ul class=\"simple\">\n<li><p>JavaScript の <a class=\"reference external\" href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules#importing_features_into_your_script\">modules import</a></p></li>\n<li><p>JavaScriptの <a class=\"reference external\" href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules#aggregating_modules\">modules aggregation</a></p></li>\n</ul>\n<p>たとえば、以下のような <code class=\"docutils literal notranslate\"><span class=\"pre\">'css/styles.css'</span></code> を定義します。</p>\n<div class=\"code-block\" data-language=\"css\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Css</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=\"Css code\"><code><span class=\"p\">@</span><span class=\"k\">import</span><span class=\"w\"> </span><span class=\"nt\">url</span><span class=\"o\">(</span><span class=\"s2\">&quot;../admin/css/base.css&quot;</span><span class=\"o\">)</span><span class=\"p\">;</span>\n</code></pre></div>\n<p>...これは <code class=\"docutils literal notranslate\"><span class=\"pre\">ManifestStaticFilesStorage</span></code> ストレージバックエンドの <a class=\"reference internal\" href=\"/ja/5.0/ref/files/storage/#django.core.files.storage.Storage.url\" title=\"django.core.files.storage.Storage.url\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">url()</span></code></a> メソッドを呼び出すことで置換され、最終的に <code class=\"docutils literal notranslate\"><span class=\"pre\">'css/styles.55e7cbb9ba48.css'</span></code> というファイルが以下の内容で保存されます。</p>\n<div class=\"code-block\" data-language=\"css\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Css</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=\"Css code\"><code><span class=\"p\">@</span><span class=\"k\">import</span><span class=\"w\"> </span><span class=\"nt\">url</span><span class=\"o\">(</span><span class=\"s2\">&quot;../admin/css/base.27e20196a850.css&quot;</span><span class=\"o\">)</span><span class=\"p\">;</span>\n</code></pre></div>\n<aside class=\"admonition-usage-of-the-integrity-html-attribute-with-local-files admonition\">\n<p class=\"admonition-title\">ローカルファイルに対する <code class=\"docutils literal notranslate\"><span class=\"pre\">integrity</span></code> HTML属性の使用方法</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;script&gt;</span></code> や <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;link&gt;</span></code> のようなタグ内で任意の <code class=\"docutils literal notranslate\"><span class=\"pre\">integrity</span></code> 属性を使用する場合、その値はファイルシステムに保存されている状態ではなく、提供されるファイルに基づいて計算されるべきです。これは、静的ファイルがどのように収集されるかによって、そのチェックサムが変更され得るため、特に重要です（例えば、<a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code></a> を使用した場合）。現時点では、このための既製のツールは用意されていません。</p>\n</aside>\n<p>マニフェストファイルの場所は、<code class=\"docutils literal notranslate\"><span class=\"pre\">manifest_storage</span></code> 引数を設定するカスタムの <code class=\"docutils literal notranslate\"><span class=\"pre\">ManifestStaticFilesStorage</span></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=\"w\"> </span><span class=\"nn\">django.conf</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">settings</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.staticfiles.storage</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"p\">(</span>\n    <span class=\"n\">ManifestStaticFilesStorage</span><span class=\"p\">,</span>\n    <span class=\"n\">StaticFilesStorage</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">MyManifestStaticFilesStorage</span><span class=\"p\">(</span><span class=\"n\">ManifestStaticFilesStorage</span><span class=\"p\">):</span>\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"o\">*</span><span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">):</span>\n        <span class=\"n\">manifest_storage</span> <span class=\"o\">=</span> <span class=\"n\">StaticFilesStorage</span><span class=\"p\">(</span><span class=\"n\">location</span><span class=\"o\">=</span><span class=\"n\">settings</span><span class=\"o\">.</span><span class=\"n\">BASE_DIR</span><span class=\"p\">)</span>\n        <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"o\">*</span><span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"n\">manifest_storage</span><span class=\"o\">=</span><span class=\"n\">manifest_storage</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">)</span>\n</code></pre></div>\n<aside class=\"admonition-references-in-comments admonition\">\n<p class=\"admonition-title\">コメント内の参照</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">ManifestStaticFilesStorage</span></code> は、コメントアウトされた文内のパスを無視しません。これにより、存在しないパスで <a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/21080\">クラッシュする可能性があります</a> 。コメントをチェックし、必要に応じて削除するべきです。</p>\n</aside>\n<aside class=\"version-note version-changed\" data-version=\"4.2\">\n<p class=\"version-note-title\">Changed in Django 4.2</p><p><code class=\"docutils literal notranslate\"><span class=\"pre\">import</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">export</span></code> ステートメント内でJavaScriptモジュールへのパスを見つけるための実験的なオプションサポートが追加されました。</p>\n</aside>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.staticfiles.storage.ManifestStaticFilesStorage.manifest_hash\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">storage.ManifestStaticFilesStorage.</span></span><span class=\"sig-name descname\"><span class=\"pre\">manifest_hash</span></span><a class=\"heading-anchor\" href=\"#django.contrib.staticfiles.storage.ManifestStaticFilesStorage.manifest_hash\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-added\" data-version=\"4.2\">\n<p class=\"version-note-title\">New in Django 4.2</p></aside>\n<p>この属性は、マニフェスト内のファイルが変更されるたびに変わる単一のハッシュを提供します。これは、サーバー上のアセットが変更されたこと（新しいデプロイメントが原因）をSPAに通知するのに役立つことがあります。</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.staticfiles.storage.ManifestStaticFilesStorage.max_post_process_passes\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">storage.ManifestStaticFilesStorage.</span></span><span class=\"sig-name descname\"><span class=\"pre\">max_post_process_passes</span></span><a class=\"heading-anchor\" href=\"#django.contrib.staticfiles.storage.ManifestStaticFilesStorage.max_post_process_passes\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>静的ファイルは他の静的ファイルを参照することがあるため、パスを置き換える処理を複数回行う必要があります。ファイルのハッシュが収束するまでこの処理を繰り返します。無限ループを防ぐため(<code class=\"docutils literal notranslate\"><span class=\"pre\">'foo.css'</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">'bar.css'</span></code> を参照し、その <code class=\"docutils literal notranslate\"><span class=\"pre\">'bar.css'</span></code> が再び <code class=\"docutils literal notranslate\"><span class=\"pre\">'foo.css'</span></code> を参照する例のように、ハッシュが収束しない場合)、ポストプロセッシングを中止する前に最大で何回のパスが可能かを設定しています。多くの参照があるケースでは、より多くのパスが必要になることがあります。最大パス数を増やすには、<code class=\"docutils literal notranslate\"><span class=\"pre\">ManifestStaticFilesStorage</span></code> をサブクラス化し、<code class=\"docutils literal notranslate\"><span class=\"pre\">max_post_process_passes</span></code> 属性を設定します。デフォルトは5です。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">ManifestStaticFilesStorage</span></code> を有効にするには、以下の要件を満たしていることを確認してください:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STORAGES</span></code></a> 設定の <code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> ストレージバックエンドが <code class=\"docutils literal notranslate\"><span class=\"pre\">'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'</span></code> に設定されていること</p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> 設定が <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> に設定されていること</p></li>\n<li><p><a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code></a> 管理コマンドを使用して、全ての静的ファイルを収集したこと</p></li>\n</ul>\n<p>MD5ハッシュを作成することは、実行時にウェブサイトにとってパフォーマンス上の負担となる可能性があるため、 <code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> は自動的に <code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles.json</span></code> というファイルに、処理されたすべてのファイルのハッシュ名とマッピングを保存します。これは <a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code></a> 管理コマンドを実行したときに一度だけ起こります。</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.staticfiles.storage.ManifestStaticFilesStorage.manifest_strict\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">storage.ManifestStaticFilesStorage.</span></span><span class=\"sig-name descname\"><span class=\"pre\">manifest_strict</span></span><a class=\"heading-anchor\" href=\"#django.contrib.staticfiles.storage.ManifestStaticFilesStorage.manifest_strict\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>実行時に <code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles.json</span></code> マニフェストでファイルが見つからない場合、<code class=\"docutils literal notranslate\"><span class=\"pre\">ValueError</span></code> が発生します。この動作は、<code class=\"docutils literal notranslate\"><span class=\"pre\">ManifestStaticFilesStorage</span></code> をサブクラス化し、<code class=\"docutils literal notranslate\"><span class=\"pre\">manifest_strict</span></code> 属性を <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> に設定することで無効にできます(存在しないパスはそのままになります)。</p>\n<p><a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code></a> を実行する必要があるため、このストレージは通常、テストの実行時には使用しないでください。テスト中は、 <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STORAGES</span></code></a> 設定にある <code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> ストレージバックエンドが <code class=\"docutils literal notranslate\"><span class=\"pre\">'django.contrib.staticfiles.storage.StaticFilesStorage'</span></code> (デフォルト) のように他のものに設定されていることを確認してください。</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.staticfiles.storage.ManifestStaticFilesStorage.file_hash\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">storage.ManifestStaticFilesStorage.</span></span><span class=\"sig-name descname\"><span class=\"pre\">file_hash</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">name</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">content</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.staticfiles.storage.ManifestStaticFilesStorage.file_hash\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>ファイルのハッシュ化された名前を作成する際に使用されるメソッドです。与えられたファイル名と内容に対するハッシュを返す必要があります。デフォルトでは、上述のように、内容のチャンクからMD5ハッシュを計算します。このメソッドをオーバーライドして、独自のハッシュアルゴリズムを使用することもできます。</p>\n</section>\n<section id=\"manifestfilesmixin\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">ManifestFilesMixin</span></code><a class=\"heading-anchor\" href=\"#manifestfilesmixin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.staticfiles.storage.ManifestFilesMixin\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">storage.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ManifestFilesMixin</span></span><a class=\"heading-anchor\" href=\"#django.contrib.staticfiles.storage.ManifestFilesMixin\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>カスタムストレージでこのミックスインを使用すると、 <a class=\"reference internal\" href=\"#django.contrib.staticfiles.storage.ManifestStaticFilesStorage\" title=\"django.contrib.staticfiles.storage.ManifestStaticFilesStorage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ManifestStaticFilesStorage</span></code></a> が行うように、ファイルの内容の MD5 ハッシュをファイル名に追加します。</p>\n</section>\n</section>\n<section id=\"finders-module\">\n<h2>ファインダー・モジュール<a class=\"heading-anchor\" href=\"#finders-module\"><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\">staticfiles</span></code> ファインダーには、ファインダーが検索したディレクトリパスのリストである <code class=\"docutils literal notranslate\"><span class=\"pre\">searched_locations</span></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=\"w\"> </span><span class=\"nn\">django.contrib.staticfiles</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">finders</span>\n\n<span class=\"n\">result</span> <span class=\"o\">=</span> <span class=\"n\">finders</span><span class=\"o\">.</span><span class=\"n\">find</span><span class=\"p\">(</span><span class=\"s2\">&quot;css/base.css&quot;</span><span class=\"p\">)</span>\n<span class=\"n\">searched_locations</span> <span class=\"o\">=</span> <span class=\"n\">finders</span><span class=\"o\">.</span><span class=\"n\">searched_locations</span>\n</code></pre></div>\n</section>\n<section id=\"other-helpers\">\n<h2>その他のヘルパー<a class=\"heading-anchor\" href=\"#other-helpers\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><a class=\"reference internal\" href=\"#module-django.contrib.staticfiles\" title=\"django.contrib.staticfiles: An app for handling static files.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code></a> アプリ以外にも、静的ファイルを扱うためのいくつかの他のヘルパーがあります。</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ja/5.0/ref/templates/api/#django.template.context_processors.static\" title=\"django.template.context_processors.static\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">django.template.context_processors.static()</span></code></a> コンテキストプロセッサは、 <a class=\"reference internal\" href=\"/ja/5.0/ref/templates/api/#django.template.RequestContext\" title=\"django.template.RequestContext\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">RequestContext</span></code></a> コンテキストでレンダリングされたすべてのテンプレートコンテキストに <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a> を追加します。</p></li>\n<li><p>組み込みのテンプレートタグ <a class=\"reference internal\" href=\"/ja/5.0/ref/templates/builtins/#std-templatetag-static\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">static</span></code></a> はパスを受け取り、静的なプレフィックス <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a> と urljoin します。もし <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles</span></code> がインストールされていれば、代わりに <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STORAGES</span></code></a> にある <code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> ストレージバックエンドの <code class=\"docutils literal notranslate\"><span class=\"pre\">url()</span></code> メソッドを使用します。</p></li>\n<li><p>組み込みのテンプレートタグ <a class=\"reference internal\" href=\"/ja/5.0/ref/templates/builtins/#std-templatetag-get_static_prefix\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">get_static_prefix</span></code></a> は、テンプレート変数に静的プレフィックス <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a> を代入し、変数として、または直接使用します。</p></li>\n<li><p>同様のテンプレートタグ <a class=\"reference internal\" href=\"/ja/5.0/ref/templates/builtins/#std-templatetag-get_media_prefix\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">get_media_prefix</span></code></a> は <a class=\"reference internal\" href=\"/ja/5.0/ref/templates/builtins/#std-templatetag-get_static_prefix\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">get_static_prefix</span></code></a> のように動作しますが、 <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_URL</span></code></a> を使用します。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> キーは <a class=\"reference internal\" href=\"/ja/5.0/ref/files/storage/#django.core.files.storage.storages\" title=\"django.core.files.storage.storages\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">django.core.files.storage.storages</span></code></a> に含まれており、 staticfiles ストレージバックエンドの使用準備が整ったインスタンスが格納されています。</p></li>\n</ul>\n<section id=\"static-file-development-view\">\n<span id=\"staticfiles-development-view\"></span><h3>静的ファイル開発ビュー<a class=\"heading-anchor\" href=\"#static-file-development-view\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>静的ファイルツールは、主に静的ファイルを本番環境にうまくデプロイするために設計されています。これは通常、開発時には扱いが大変な専用の静的ファイルサーバーを意味します。そのため、<code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> アプリには、開発中にローカルでファイルを提供するために使用できる <strong>素早くて簡易なヘルパービュー</strong> が同梱されています。</p>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.staticfiles.views.serve\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">views.</span></span><span class=\"sig-name descname\"><span class=\"pre\">serve</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">request</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">path</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.staticfiles.views.serve\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>このビュー関数は、開発中に静的ファイルを配信します。</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">警告</p>\n<p>このビューは <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> が <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> の場合にのみ機能します。</p>\n<p>このビューは <strong>極めて非効率的</strong> であり、おそらく <strong>セキュリティ上の問題</strong> も抱えています。このビューは、 <strong>ローカル開発向け</strong> であり、 <strong>本番環境で使用するべきではありません</strong> 。</p>\n</aside>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>提供するファイルのコンテンツタイプを推測するために、このビューはPython標準ライブラリの <a class=\"reference external\" href=\"https://docs.python.org/3/library/mimetypes.html#module-mimetypes\" title=\"(in Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">mimetypes</span></code></a> モジュールに依存しています。これは、その下層にあるプラットフォームのマップファイルにも依存しています。もし、このビューが特定のファイルに対して適切なコンテンツタイプを返さない場合、最も可能性が高いのは、プラットフォームのマップファイルが不正確であるか、更新が必要であることを意味しています。例えば、Red Hatディストリビューションで <code class=\"docutils literal notranslate\"><span class=\"pre\">mailcap</span></code> パッケージをインストールまたは更新すること、Debianディストリビューションで <code class=\"docutils literal notranslate\"><span class=\"pre\">mime-support</span></code> をインストールまたは更新すること、あるいはWindowsレジストリの <code class=\"docutils literal notranslate\"><span class=\"pre\">HKEY_CLASSES_ROOT</span></code> 下のキーを編集することによって、これを修正できます。</p>\n</aside>\n<p>このビューは、 <a class=\"reference internal\" href=\"/ja/5.0/ref/django-admin/#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">runserver</span></code></a> (および <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> 設定が <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> に設定されている場合) によって自動的に有効になります。異なるローカル開発サーバーでこのビューを使用するには、主要な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=\"w\"> </span><span class=\"nn\">django.conf</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">settings</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.staticfiles</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">views</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.urls</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">re_path</span>\n\n<span class=\"k\">if</span> <span class=\"n\">settings</span><span class=\"o\">.</span><span class=\"n\">DEBUG</span><span class=\"p\">:</span>\n    <span class=\"n\">urlpatterns</span> <span class=\"o\">+=</span> <span class=\"p\">[</span>\n        <span class=\"n\">re_path</span><span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s2\">&quot;^static/(?P&lt;path&gt;.*)$&quot;</span><span class=\"p\">,</span> <span class=\"n\">views</span><span class=\"o\">.</span><span class=\"n\">serve</span><span class=\"p\">),</span>\n    <span class=\"p\">]</span>\n</code></pre></div>\n<p>注意: パターンの先頭 (<code class=\"docutils literal notranslate\"><span class=\"pre\">r'^static/'</span></code>) はあなたの設定 (<a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a>) であるべきです。</p>\n<p>これは少し厄介なので、これを代行してくれるヘルパー関数もあります:</p>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.staticfiles.urls.staticfiles_urlpatterns\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">urls.</span></span><span class=\"sig-name descname\"><span class=\"pre\">staticfiles_urlpatterns</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.staticfiles.urls.staticfiles_urlpatterns\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\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=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.staticfiles.urls</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">staticfiles_urlpatterns</span>\n\n<span class=\"c1\"># ... the rest of your URLconf here ...</span>\n\n<span class=\"n\">urlpatterns</span> <span class=\"o\">+=</span> <span class=\"n\">staticfiles_urlpatterns</span><span class=\"p\">()</span>\n</code></pre></div>\n<p>これにより、<a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a> 設定が検査され、静的ファイルを適切に提供するためのビューが設定されます。 <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles</span></code> がアプリディレクトリ内のファイルに加えて、どこでファイルを探せばよいかを知るために、 <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATICFILES_DIRS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATICFILES_DIRS</span></code></a> 設定を適切に設定することを忘れないでください。</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">警告</p>\n<p>このヘルパー関数は、 <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> が <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> であり、かつ <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a> の設定が空でも完全なURL (例: <code class=\"docutils literal notranslate\"><span class=\"pre\">http://static.example.com/</span></code>) でもない場合にのみ動作します。</p>\n<p>このビューは <strong>極めて非効率的</strong> であり、おそらく <strong>セキュリティ上の問題</strong> も抱えています。このビューは、 <strong>ローカル開発向け</strong> であり、 <strong>本番環境で使用するべきではありません</strong> 。</p>\n</aside>\n</section>\n<section id=\"specialized-test-case-to-support-live-testing\">\n<h3>「ライブテスト」をサポートするための特別なテストケース<a class=\"heading-anchor\" href=\"#specialized-test-case-to-support-live-testing\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.staticfiles.testing.StaticLiveServerTestCase\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">testing.</span></span><span class=\"sig-name descname\"><span class=\"pre\">StaticLiveServerTestCase</span></span><a class=\"heading-anchor\" href=\"#django.contrib.staticfiles.testing.StaticLiveServerTestCase\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>この unittest の TestCase サブクラスは <a class=\"reference internal\" href=\"/ja/5.0/topics/testing/tools/#django.test.LiveServerTestCase\" title=\"django.test.LiveServerTestCase\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.test.LiveServerTestCase</span></code></a> を拡張しています。</p>\n<p>親と同様に、テスト対象のコードを実行し、HTTP を介してテストツール(例: Selenium、PhantomJS など)で使用するテストを記述するために使用できます。そのため、静的アセットも公開する必要があります。</p>\n<p>しかし、上記で説明した <a class=\"reference internal\" href=\"#django.contrib.staticfiles.views.serve\" title=\"django.contrib.staticfiles.views.serve\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles.views.serve()</span></code></a> ビューを利用しているため、テスト実行時に <code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> ファインダーによって配信されたアセットを透過的に上書きできます。つまり、テストのセットアップの前やその一部として <a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code></a> を実行する必要はありません。</p>\n</section>\n</section>","rootId":"module-django.contrib.staticfiles","toc":[{"title":"設定","anchor":"settings","children":[]},{"title":"管理コマンド","anchor":"management-commands","children":[{"title":"collectstatic","anchor":"collectstatic","children":[{"title":"無視パターンリストをカスタマイズする","anchor":"customizing-the-ignored-pattern-list","children":[]}]},{"title":"findstatic","anchor":"findstatic","children":[]},{"title":"runserver","anchor":"runserver","children":[]}]},{"title":"ストレージ","anchor":"storages","children":[{"title":"StaticFilesStorage","anchor":"staticfilesstorage","children":[]},{"title":"ManifestStaticFilesStorage","anchor":"manifeststaticfilesstorage","children":[]},{"title":"ManifestFilesMixin","anchor":"manifestfilesmixin","children":[]}]},{"title":"ファインダー・モジュール","anchor":"finders-module","children":[]},{"title":"その他のヘルパー","anchor":"other-helpers","children":[{"title":"静的ファイル開発ビュー","anchor":"static-file-development-view","children":[]},{"title":"「ライブテスト」をサポートするための特別なテストケース","anchor":"specialized-test-case-to-support-live-testing","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API リファレンス","url":"/ja/5.0/ref/"},{"docname":"ref/contrib/index","title":"contrib パッケージ","url":"/ja/5.0/ref/contrib/"}],"prev":{"docname":"ref/contrib/sites","title":"\"sites\" フレームワーク","url":"/ja/5.0/ref/contrib/sites/"},"next":{"docname":"ref/contrib/syndication","title":"配信 (syndication) フィード フレームワーク","url":"/ja/5.0/ref/contrib/syndication/"},"formats":{"html":"/ja/5.0/ref/contrib/staticfiles/","markdown":"/ja/5.0/ref/contrib/staticfiles.md","json":"/ja/5.0/ref/contrib/staticfiles.json"},"source":"https://github.com/django/django/blob/stable/5.0.x/docs/ref/contrib/staticfiles.txt","official":"https://docs.djangoproject.com/ja/5.0/ref/contrib/staticfiles/","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","it","pt-br","ko","es","el","pl"]}