{"title":"staticfiles アプリ","version":"6.0","locale":"ja","docname":"ref/contrib/staticfiles","url":"/ja/6.0/ref/contrib/staticfiles/","canonical":"https://djangodocs.dev/ja/6.0/ref/contrib/staticfiles/","summary":"django.contrib.staticfiles は、各アプリケーション（と、あらかじめ指定した他の場所）から静的ファイルを収集し、本番環境で簡単に提供できるように一か所にまとめま…","html":"<span id=\"the-staticfiles-app\"></span><h1><code class=\"docutils literal notranslate\">staticfiles</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\">django.contrib.staticfiles</code> は、各アプリケーション（と、あらかじめ指定した他の場所）から静的ファイルを収集し、本番環境で簡単に提供できるように一か所にまとめます。</p>\n<aside class=\"admonition admonition-seealso\" role=\"note\">\n<p class=\"admonition-title\">参考</p>\n<p>静的ファイルアプリの導入と活用例については、 <a class=\"reference internal\" href=\"/ja/6.0/howto/static-files/\"><span class=\"doc\">静的ファイル (画像、JavaScript、CSS など) を管理する</span></a> を参照してください。静的ファイルのデプロイに関するガイドラインについては、 <a class=\"reference internal\" href=\"/ja/6.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/6.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/6.0/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\">STORAGES</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_ROOT</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_URL</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATICFILES_DIRS\"><code class=\"xref std std-setting docutils literal notranslate\">STATICFILES_DIRS</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATICFILES_FINDERS\"><code class=\"xref std std-setting docutils literal notranslate\">STATICFILES_FINDERS</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\">django.contrib.staticfiles</code> は3つの管理コマンドを提供します。</p>\n<section id=\"collectstatic\">\n<h3><code class=\"docutils literal notranslate\">collectstatic</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\">django-admin collectstatic</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/6.0/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_ROOT</code></a> に収集します。</p>\n<p>デフォルトでは、重複するファイル名はテンプレートの解決方法と同様に処理されます。すなわち、指定された場所のいずれかで最初に見つかったファイルが使用されます。どのファイルが反映されたかわからない場合は、 <a class=\"reference internal\" href=\"#django-admin-findstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">findstatic</code></a> コマンドを使用して、どのファイルが適用されたかを確認できます。</p>\n<p>その後、再度 <code class=\"docutils literal notranslate\">collectstatic</code> を実行すると、（ <code class=\"docutils literal notranslate\">STATIC_ROOT</code> が空でない限り）収集元のファイルは、そのタイムスタンプが <code class=\"docutils literal notranslate\">STATIC_ROOT</code> にあるファイルのタイムスタンプよりも後の日時であるときのみコピーされます。そのため、 <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> からアプリケーションを削除するときは、 <a class=\"reference internal\" href=\"#cmdoption-collectstatic-clear\"><code class=\"xref std std-option docutils literal notranslate\">collectstatic --clear</code></a> を実行することで古い静的ファイルを削除すると良いでしょう。</p>\n<p>ファイルの検索には、 <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATICFILES_FINDERS\"><code class=\"xref std std-setting docutils literal notranslate\">有効化された検索システム</code></a> が使用されます。デフォルトでは、 <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATICFILES_DIRS\"><code class=\"xref std std-setting docutils literal notranslate\">STATICFILES_DIRS</code></a> で定義されたすべての場所と、 <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> 設定で指定されたアプリケーションの <code class=\"docutils literal notranslate\">'static'</code> ディレクトリを参照します。</p>\n<p><a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</code></a> コマンドは、実行するたび <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\">STORAGES</code></a> から <code class=\"docutils literal notranslate\">staticfiles</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\">post_process()</code></a> メソッドを呼び出し、この管理コマンドによって見つかったファイルパスのリストを返します。同時に、 <a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</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\">ManifestStaticFilesStorage</code></a> に渡されます。</p>\n<p>デフォルトでは、収集されたファイルは <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-FILE_UPLOAD_PERMISSIONS\"><code class=\"xref std std-setting docutils literal notranslate\">FILE_UPLOAD_PERMISSIONS</code></a> から、収集されたディレクトリは <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-FILE_UPLOAD_DIRECTORY_PERMISSIONS\"><code class=\"xref std std-setting docutils literal notranslate\">FILE_UPLOAD_DIRECTORY_PERMISSIONS</code></a> からアクセス許可を受け取ります。これらのファイルまたはディレクトリに異なるアクセス許可を設定したい場合は、<a class=\"reference internal\" href=\"#staticfiles-storages\"><span class=\"std std-ref\">静的ファイルストレージのクラス</span></a> のいずれかをサブクラス化し、それぞれ <code class=\"docutils literal notranslate\">file_permissions_mode</code> および/または <code class=\"docutils literal notranslate\">directory_permissions_mode</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.contrib.staticfiles</span> <span class=\"kn\">import</span> storage\n\n\n<span class=\"k\">class</span> <span class=\"nc\">MyStaticFilesStorage</span><span class=\"p\">(</span>storage<span class=\"o\">.</span>StaticFilesStorage<span class=\"p\">):</span>\n    <span class=\"k\">def</span> <span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"o\">*</span>args<span class=\"p\">,</span> <span class=\"o\">**</span>kwargs<span class=\"p\">):</span>\n        kwargs<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        kwargs<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>args<span class=\"p\">,</span> <span class=\"o\">**</span>kwargs<span class=\"p\">)</span>\n</code></pre></div>\n<p>次に、 <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\">STORAGES</code></a> 設定で <code class=\"docutils literal notranslate\">staticfiles</code> ストレージバックエンドを <code class=\"docutils literal notranslate\">'path.to.MyStaticFilesStorage'</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\">--noinput</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">--no-input</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\">--ignore</span><span class=\"sig-prename descclassname\"> PATTERN</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-i</span><span class=\"sig-prename descclassname\"> PATTERN</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\">--dry-run</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-n</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\">--clear</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-c</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\">--link</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-l</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\">--no-post-process</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/6.0/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\">STORAGES</code></a> に設定された <code class=\"docutils literal notranslate\">staticfiles</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\">post_process()</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\">--no-default-ignore</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\">'CVS'</code> 、 <code class=\"docutils literal notranslate\">'.*'</code> および <code class=\"docutils literal notranslate\">'*~'</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 manage.py collectstatic --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\">['CVS', '.*', '*~']</code> ですが、これは <code class=\"docutils literal notranslate\">collectstatic</code> の呼び出しのたびに <code class=\"docutils literal notranslate\">--ignore</code> オプションを指定することなく、より永続的な方法でカスタマイズできます。以下のように、 <code class=\"docutils literal notranslate\">ignore_patterns</code> 属性をオーバーライドしたカスタムの <a class=\"reference internal\" href=\"/ja/6.0/ref/applications/#django.apps.AppConfig\" title=\"django.apps.AppConfig\"><code class=\"xref py py-class docutils literal notranslate\">AppConfig</code></a> クラスを実装し、 <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> 設定で <code class=\"docutils literal notranslate\">'django.contrib.staticfiles'</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.contrib.staticfiles.apps</span> <span class=\"kn\">import</span> StaticFilesConfig\n\n\n<span class=\"k\">class</span> <span class=\"nc\">MyStaticFilesConfig</span><span class=\"p\">(</span>StaticFilesConfig<span class=\"p\">):</span>\n    ignore_patterns <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\">findstatic</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\">django-admin findstatic staticfile [staticfile ...]</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 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>\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\">findstatic</span><span class=\"sig-prename descclassname\"> --first</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\">--first</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 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>\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\">--verbosity</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 manage.py findstatic css/base.css --verbosity <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\">--verbosity</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 manage.py findstatic css/base.css --verbosity <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\">runserver</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\">django-admin runserver [addrport]</span></dt>\n<dd></dd></dl>\n\n<p><code class=\"docutils literal notranslate\">staticfiles</code> アプリケーションが <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">インストール</code></a> されている場合、 <a class=\"reference internal\" href=\"/ja/6.0/ref/django-admin/#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\">runserver</code></a> コマンドを上書きし、静的ファイルの自動サービスを追加します。ファイルのサービスは <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-MIDDLEWARE\"><code class=\"xref std std-setting docutils literal notranslate\">MIDDLEWARE</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\">--nostatic</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\">--nostatic</code> オプションを使用すると、 <a class=\"reference internal\" href=\"/ja/6.0/ref/contrib/staticfiles/\"><span class=\"doc\">staticfiles</span></a> アプリケーションによる静的ファイルの配信を完全に無効にします。このオプションは、 <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> 設定に <a class=\"reference internal\" href=\"/ja/6.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 runserver --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\">--insecure</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\">--insecure</code> オプションを使用すると、 <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\">DEBUG</code></a> 設定が <code class=\"docutils literal notranslate\">False</code> の場合でも、静的ファイルを強制的に <a class=\"reference internal\" href=\"/ja/6.0/ref/contrib/staticfiles/\"><span class=\"doc\">staticfiles</span></a> アプリで配信します。これを使用する場合、 <strong>非常に非効率的</strong> で、おそらく <strong>安全ではない</strong> ことを受け入れる必要があります。これはローカル開発のみを目的としているので、 <strong>本番環境では使用しないでください</strong> 。また、 <a class=\"reference internal\" href=\"/ja/6.0/ref/contrib/staticfiles/\"><span class=\"doc\">staticfiles</span></a> アプリがプロジェクトの <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> 設定に含まれている場合のみ利用可能です。</p>\n<p><code class=\"docutils literal notranslate\">--insecure</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\">ManifestStaticFilesStorage</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 runserver --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\">StaticFilesStorage</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\">class</span> </em><span class=\"sig-prename descclassname\">storage.</span><span class=\"sig-name descname\">StaticFilesStorage</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/6.0/ref/files/storage/#django.core.files.storage.FileSystemStorage\" title=\"django.core.files.storage.FileSystemStorage\"><code class=\"xref py py-class docutils literal notranslate\">FileSystemStorage</code></a> ストレージバックエンドのサブクラスです。 <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_ROOT</code></a> 設定を基本ファイルシステムの場所として、<a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_URL</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\">storage.StaticFilesStorage.</span><span class=\"sig-name descname\">post_process</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">paths</em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">collectstatic</code></a> 管理コマンドが実行されるたびに呼び出され、見つかったファイルのローカルストレージとパス、およびコマンドラインオプションが辞書として渡されます。この処理は <code class=\"docutils literal notranslate\">original_path</code> 、 <code class=\"docutils literal notranslate\">processed_path</code> 、 <code class=\"docutils literal notranslate\">processed</code> の3つの値のタプルを生成します。パスの値は文字列であり、 <code class=\"docutils literal notranslate\">processed</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\">ManifestStaticFilesStorage</code></a> は、これを裏で使用してパスをハッシュ化された対応するパスに置き換え、キャッシュを適切に更新します。</p>\n</section>\n<section id=\"manifeststaticfilesstorage\">\n<h3><code class=\"docutils literal notranslate\">ManifestStaticFilesStorage</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\">class</span> </em><span class=\"sig-prename descclassname\">storage.</span><span class=\"sig-name descname\">ManifestStaticFilesStorage</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\">StaticFilesStorage</code></a> のストレージバックエンドのサブクラスです。ファイル名を処理する際に、ファイルの内容のMD5ハッシュをファイル名に追加して保存します。たとえば、ファイル <code class=\"docutils literal notranslate\">css/styles.css</code> は <code class=\"docutils literal notranslate\">css/styles.55e7cbb9ba48.css</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\">post_process()</code></a> メソッドを使用）。これらのパスを検索するために使用される正規表現（ <code class=\"docutils literal notranslate\">django.contrib.staticfiles.storage.HashedFilesMixin.patterns</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\">ManifestStaticFilesStorage</code> のサブクラスを作成し、 <code class=\"docutils literal notranslate\">support_js_module_import_aggregation</code> 属性を <code class=\"docutils literal notranslate\">True</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\">'css/styles.css'</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=\"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\">ManifestStaticFilesStorage</code> ストレージバックエンドの <a class=\"reference internal\" href=\"/ja/6.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\">url()</code></a> メソッドを呼び出すことで置換され、最終的に <code class=\"docutils literal notranslate\">'css/styles.55e7cbb9ba48.css'</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=\"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\" role=\"note\">\n<p class=\"admonition-title\">ローカルファイルに対する <code class=\"docutils literal notranslate\">integrity</code> HTML属性の使用方法</p>\n<p><code class=\"docutils literal notranslate\">&lt;script&gt;</code> や <code class=\"docutils literal notranslate\">&lt;link&gt;</code> のようなタグ内で任意の <code class=\"docutils literal notranslate\">integrity</code> 属性を使用する場合、その値はファイルシステムに保存されている状態ではなく、提供されるファイルに基づいて計算されるべきです。これは、静的ファイルがどのように収集されるかによって、そのチェックサムが変更され得るため、特に重要です（例えば、<a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</code></a> を使用した場合）。現時点では、このための既製のツールは用意されていません。</p>\n</aside>\n<p>マニフェストファイルの場所は、<code class=\"docutils literal notranslate\">manifest_storage</code> 引数を設定するカスタムの <code class=\"docutils literal notranslate\">ManifestStaticFilesStorage</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.conf</span> <span class=\"kn\">import</span> settings\n<span class=\"kn\">from</span> <span class=\"nn\">django.contrib.staticfiles.storage</span> <span class=\"kn\">import</span> <span class=\"p\">(</span>\n    ManifestStaticFilesStorage<span class=\"p\">,</span>\n    StaticFilesStorage<span class=\"p\">,</span>\n<span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">MyManifestStaticFilesStorage</span><span class=\"p\">(</span>ManifestStaticFilesStorage<span class=\"p\">):</span>\n    <span class=\"k\">def</span> <span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"o\">*</span>args<span class=\"p\">,</span> <span class=\"o\">**</span>kwargs<span class=\"p\">):</span>\n        manifest_storage <span class=\"o\">=</span> StaticFilesStorage<span class=\"p\">(</span>location<span class=\"o\">=</span>settings<span class=\"o\">.</span>BASE_DIR<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>args<span class=\"p\">,</span> manifest_storage<span class=\"o\">=</span>manifest_storage<span class=\"p\">,</span> <span class=\"o\">**</span>kwargs<span class=\"p\">)</span>\n</code></pre></div>\n<aside class=\"admonition-references-in-comments admonition\" role=\"note\">\n<p class=\"admonition-title\">コメント内の参照</p>\n<p><code class=\"docutils literal notranslate\">ManifestStaticFilesStorage</code> は、コメントアウトされた文内のパスを無視しません。これにより、存在しないパスで <a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/21080\">クラッシュする可能性があります</a> 。コメントをチェックし、必要に応じて削除するべきです。</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\">storage.ManifestStaticFilesStorage.</span><span class=\"sig-name descname\">manifest_hash</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<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\">storage.ManifestStaticFilesStorage.</span><span class=\"sig-name descname\">max_post_process_passes</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\">'foo.css'</code> が <code class=\"docutils literal notranslate\">'bar.css'</code> を参照し、その <code class=\"docutils literal notranslate\">'bar.css'</code> が再び <code class=\"docutils literal notranslate\">'foo.css'</code> を参照する例のように、ハッシュが収束しない場合)、ポストプロセッシングを中止する前に最大で何回のパスが可能かを設定しています。多くの参照があるケースでは、より多くのパスが必要になることがあります。最大パス数を増やすには、<code class=\"docutils literal notranslate\">ManifestStaticFilesStorage</code> をサブクラス化し、<code class=\"docutils literal notranslate\">max_post_process_passes</code> 属性を設定します。デフォルトは5です。</p>\n<p><code class=\"docutils literal notranslate\">ManifestStaticFilesStorage</code> を有効にするには、以下の要件を満たしていることを確認してください:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\">STORAGES</code></a> 設定の <code class=\"docutils literal notranslate\">staticfiles</code> ストレージバックエンドが <code class=\"docutils literal notranslate\">'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'</code> に設定されていること</p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\">DEBUG</code></a> 設定が <code class=\"docutils literal notranslate\">False</code> に設定されていること</p></li>\n<li><p><a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</code></a> 管理コマンドを使用して、全ての静的ファイルを収集したこと</p></li>\n</ul>\n<p>MD5ハッシュを作成することは、実行時にウェブサイトにとってパフォーマンス上の負担となる可能性があるため、 <code class=\"docutils literal notranslate\">staticfiles</code> は自動的に <code class=\"docutils literal notranslate\">staticfiles.json</code> というファイルに、処理されたすべてのファイルのハッシュ名とマッピングを保存します。これは <a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</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\">storage.ManifestStaticFilesStorage.</span><span class=\"sig-name descname\">manifest_strict</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\">staticfiles.json</code> マニフェストでファイルが見つからない場合、<code class=\"docutils literal notranslate\">ValueError</code> が発生します。この動作は、<code class=\"docutils literal notranslate\">ManifestStaticFilesStorage</code> をサブクラス化し、<code class=\"docutils literal notranslate\">manifest_strict</code> 属性を <code class=\"docutils literal notranslate\">False</code> に設定することで無効にできます(存在しないパスはそのままになります)。</p>\n<p><a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</code></a> を実行する必要があるため、このストレージは通常、テストの実行時には使用しないでください。テスト中は、 <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\">STORAGES</code></a> 設定にある <code class=\"docutils literal notranslate\">staticfiles</code> ストレージバックエンドが <code class=\"docutils literal notranslate\">'django.contrib.staticfiles.storage.StaticFilesStorage'</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\">storage.ManifestStaticFilesStorage.</span><span class=\"sig-name descname\">file_hash</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">name</em>, <em class=\"sig-param\">content<span class=\"o\">=</span><span class=\"default_value\">None</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\">ManifestFilesMixin</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\">class</span> </em><span class=\"sig-prename descclassname\">storage.</span><span class=\"sig-name descname\">ManifestFilesMixin</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\">ManifestStaticFilesStorage</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\">staticfiles</code> ファインダーには、ファインダーが検索したディレクトリパスのリストである <code class=\"docutils literal notranslate\">searched_locations</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.contrib.staticfiles</span> <span class=\"kn\">import</span> finders\n\nresult <span class=\"o\">=</span> finders<span class=\"o\">.</span>find<span class=\"p\">(</span><span class=\"s2\">&quot;css/base.css&quot;</span><span class=\"p\">)</span>\nsearched_locations <span class=\"o\">=</span> finders<span class=\"o\">.</span>searched_locations\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\">staticfiles</code></a> アプリ以外にも、静的ファイルを扱うためのいくつかの他のヘルパーがあります。</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ja/6.0/ref/templates/api/#django.template.context_processors.static\" title=\"django.template.context_processors.static\"><code class=\"xref py py-func docutils literal notranslate\">django.template.context_processors.static()</code></a> コンテキストプロセッサは、 <a class=\"reference internal\" href=\"/ja/6.0/ref/templates/api/#django.template.RequestContext\" title=\"django.template.RequestContext\"><code class=\"xref py py-class docutils literal notranslate\">RequestContext</code></a> コンテキストでレンダリングされたすべてのテンプレートコンテキストに <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_URL</code></a> を追加します。</p></li>\n<li><p>組み込みのテンプレートタグ <a class=\"reference internal\" href=\"/ja/6.0/ref/templates/builtins/#std-templatetag-static\"><code class=\"xref std std-ttag docutils literal notranslate\">static</code></a> はパスを受け取り、静的なプレフィックス <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_URL</code></a> と urljoin します。もし <code class=\"docutils literal notranslate\">django.contrib.staticfiles</code> がインストールされていれば、代わりに <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\">STORAGES</code></a> にある <code class=\"docutils literal notranslate\">staticfiles</code> ストレージバックエンドの <code class=\"docutils literal notranslate\">url()</code> メソッドを使用します。</p></li>\n<li><p>組み込みのテンプレートタグ <a class=\"reference internal\" href=\"/ja/6.0/ref/templates/builtins/#std-templatetag-get_static_prefix\"><code class=\"xref std std-ttag docutils literal notranslate\">get_static_prefix</code></a> は、テンプレート変数に静的プレフィックス <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_URL</code></a> を代入し、変数として、または直接使用します。</p></li>\n<li><p>同様のテンプレートタグ <a class=\"reference internal\" href=\"/ja/6.0/ref/templates/builtins/#std-templatetag-get_media_prefix\"><code class=\"xref std std-ttag docutils literal notranslate\">get_media_prefix</code></a> は <a class=\"reference internal\" href=\"/ja/6.0/ref/templates/builtins/#std-templatetag-get_static_prefix\"><code class=\"xref std std-ttag docutils literal notranslate\">get_static_prefix</code></a> のように動作しますが、 <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\">MEDIA_URL</code></a> を使用します。</p></li>\n<li><p><code class=\"docutils literal notranslate\">staticfiles</code> キーは <a class=\"reference internal\" href=\"/ja/6.0/ref/files/storage/#django.core.files.storage.storages\" title=\"django.core.files.storage.storages\"><code class=\"xref py py-data docutils literal notranslate\">django.core.files.storage.storages</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\">staticfiles</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\">views.</span><span class=\"sig-name descname\">serve</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">request</em>, <em class=\"sig-param\">path</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/6.0/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\">DEBUG</code></a> が <code class=\"docutils literal notranslate\">True</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>To guess the served files' content types, this view relies on the\n<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\">mimetypes</code></a> module from the Python standard library, which itself\nrelies on the underlying platform's map files. If you find that this view\ndoesn't return proper content types for certain files, it is most likely\nthat the platform's map files are incorrect or need to be updated. This can\nbe achieved, for example, by installing or updating the <code class=\"docutils literal notranslate\">mailcap</code> package\non a Red Hat distribution, <code class=\"docutils literal notranslate\">mime-support</code> on a Debian distribution, or by\nediting the keys under <code class=\"docutils literal notranslate\">HKEY_CLASSES_ROOT</code> in the Windows registry.</p>\n</aside>\n<p>このビューは、 <a class=\"reference internal\" href=\"/ja/6.0/ref/django-admin/#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\">runserver</code></a> (および <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\">DEBUG</code></a> 設定が <code class=\"docutils literal notranslate\">True</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=\"nn\">django.conf</span> <span class=\"kn\">import</span> settings\n<span class=\"kn\">from</span> <span class=\"nn\">django.contrib.staticfiles</span> <span class=\"kn\">import</span> views\n<span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> re_path\n\n<span class=\"k\">if</span> settings<span class=\"o\">.</span>DEBUG<span class=\"p\">:</span>\n    urlpatterns <span class=\"o\">+=</span> <span class=\"p\">[</span>\n        re_path<span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s2\">&quot;^static/(?P&lt;path&gt;.*)$&quot;</span><span class=\"p\">,</span> views<span class=\"o\">.</span>serve<span class=\"p\">),</span>\n    <span class=\"p\">]</span>\n</code></pre></div>\n<p>注意: パターンの先頭 (<code class=\"docutils literal notranslate\">r'^static/'</code>) はあなたの設定 (<a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_URL</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\">urls.</span><span class=\"sig-name descname\">staticfiles_urlpatterns</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=\"nn\">django.contrib.staticfiles.urls</span> <span class=\"kn\">import</span> staticfiles_urlpatterns\n\n<span class=\"c1\"># ... the rest of your URLconf here ...</span>\n\nurlpatterns <span class=\"o\">+=</span> staticfiles_urlpatterns<span class=\"p\">()</span>\n</code></pre></div>\n<p>これにより、<a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_URL</code></a> 設定が検査され、静的ファイルを適切に提供するためのビューが設定されます。 <code class=\"docutils literal notranslate\">django.contrib.staticfiles</code> がアプリディレクトリ内のファイルに加えて、どこでファイルを探せばよいかを知るために、 <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATICFILES_DIRS\"><code class=\"xref std std-setting docutils literal notranslate\">STATICFILES_DIRS</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/6.0/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\">DEBUG</code></a> が <code class=\"docutils literal notranslate\">True</code> であり、かつ <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_URL</code></a> の設定が空でも完全なURL (例: <code class=\"docutils literal notranslate\">http://static.example.com/</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\">class</span> </em><span class=\"sig-prename descclassname\">testing.</span><span class=\"sig-name descname\">StaticLiveServerTestCase</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/6.0/topics/testing/tools/#django.test.LiveServerTestCase\" title=\"django.test.LiveServerTestCase\"><code class=\"xref py py-class docutils literal notranslate\">django.test.LiveServerTestCase</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\">django.contrib.staticfiles.views.serve()</code></a> ビューを利用しているため、テスト実行時に <code class=\"docutils literal notranslate\">staticfiles</code> ファインダーによって配信されたアセットを透過的に上書きできます。つまり、テストのセットアップの前やその一部として <a class=\"reference internal\" href=\"#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</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/6.0/ref/"},{"docname":"ref/contrib/index","title":"contrib パッケージ","url":"/ja/6.0/ref/contrib/"}],"prev":{"docname":"ref/contrib/sites","title":"\"sites\" フレームワーク","url":"/ja/6.0/ref/contrib/sites/"},"next":{"docname":"ref/contrib/syndication","title":"配信 (syndication) フィード フレームワーク","url":"/ja/6.0/ref/contrib/syndication/"},"formats":{"html":"/ja/6.0/ref/contrib/staticfiles/","markdown":"/ja/6.0/ref/contrib/staticfiles.md","json":"/ja/6.0/ref/contrib/staticfiles.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/ref/contrib/staticfiles.txt","official":"https://docs.djangoproject.com/ja/6.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","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}