Django 開発の領域では、これらの間のニュアンスを理解することが重要です。 STATICFILES_DIRS、STATIC_ROOT、および MEDIA_ROOT。これらの設定は、Web サイトの静的ファイルの管理において異なる役割を果たします。
STATICFILES_DIRS は、Django が静的ファイルを見つけることができる追加のディレクトリを指定します。 STATIC_ROOT とは異なり、デプロイメント中には必要ありません。代わりに、主に開発中に追加の静的ファイル ディレクトリを組み込むために使用されます。
STATIC_ROOT は、Django プロジェクトの静的ファイルが収集および保存される指定されたディレクトリです。導入中。 Web サーバーである Nginx は、このディレクトリを利用して静的ファイルを検索し、ユーザーに提供します。
MEDIA_ROOT は、他の 2 つの設定とは異なります。これは、通常 ImageField などのモデル フィールドを通じてアップロードされる画像やビデオなどのメディア ファイルを対象としています。静的ファイルとは異なり、アップロードされたメディア ファイルはユーザーのアクションに応じて変化する可能性があるため、静的とはみなされません。
よくある誤解は、MEDIA_ROOT の使用です。静的ファイルの場合、エラーが発生する可能性があります。静的ファイルは STATIC_ROOT または STATICFILES_DIRS に保存する必要がありますが、MEDIA_ROOT はアップロードされたメディア専用です。
別の誤解は、開発中の STATIC_ROOT の機能に関係しています。 STATIC_ROOT は開発プロセス中には使用されません。 Django は、各アプリのディレクトリから静的ファイルを自動的に提供します。これは、DEBUG モードの manage.py runserver によって処理されます。
Django プロジェクトをデプロイする場合、STATIC_ROOT の設定が重要になります。 Nginx はプロジェクトを認識しないため、独自に静的ファイルを見つけることができません。 STATIC_ROOT を指定すると、静的ファイルを検索して提供できる明確なディレクトリが Nginx に提供されます。 Nginx がこれらのファイルにアクセスできるようにするには、manage.pycollectstatic コマンドを実行します。これにより、すべての静的ファイルが指定された STATIC_ROOT ディレクトリにコピーされます。
以上が以下に、質問に基づいて記事の内容を反映するタイトルのオプションをいくつか示します。 * **Django 静的ファイル: `STATICFILES_DIRS`、`STATIC_ROOT`、`MEDIA_ROO' の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。