ここでの短い答え: settings.py で、STATIC_DIRS 用のフォルダー、STATIC_URL (通常は単に「/static/」) を設定していることを確認してください。myproject/static/ の STATIC_ROOT 設定を設定します。このフォルダーは空のままにします。STATIC_DIRS の下に myprojet/assets/ という名前のフォルダーを 1 つ追加します。次に、assets/ に css、img、および js を含めます。これで、どのフォルダーにあるかに関係なく、この場所を介してこれらの整理されたフォルダー内のすべてのアセットにアクセスできます。{{ STATIC_URL }}/main.css {{ STATIC_URL }}/banner.png また、最後の手段として、python manage.py collectstatic を実行します。また、settings.py で Django の静的ファイル ハンドラーのコメントを外したことを確認してください。(デフォルトではコメント解除されています。)
Django のベスト プラクティス 長い回答を読み進めてください (私の限られた経験では)。
彼らが STATIC_DIRS { } 設定を導入して以来、私は常に myproject/static/ ディレクトリを空のままにしてきました。(展開中に、サーバーで python manage.py collectstatic コマンドを実行して、静的サーバーが提供するサイトパッケージやその他のものからすべての管理ファイルを収集する必要があります。そのため、すべての混乱のために空のままにしておきます「アセット」には別のフォルダーを使用してください。)
私は src というディレクトリを持っています。多くの人はそれをプロジェクト レベルでもメディアと呼んでいます。あなたのsettings.pyではなく、manage.pyを使用したDjango 1.4プロジェクトレベル。myproject/src/ を STATIC_DIRS 設定に追加します。文字列を含むべきタプルです。src/ ディレクトリ内に、js、img、css があります。作成する可能性のあるすべての STATIC_DIRS の最も優れた点は、それらすべてに次の方法でアクセスできることです。
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/main.css" />
注: css ファイルのディレクトリ構造がいくつかのネストされたフォルダーの深さ (この場合は myproject/src/css/main.css ) である場合でも、これを行うことができます。Django はディレクトリ構造を気にしません。一般に、Django はその要素から非常に疎結合です。たとえば、選択した別の Pythonic テンプレート言語をプラグインするのは非常に簡単です。STATIC_URL 設定と STATIC_DIRS を簡単に設定できるように、Django はどこを見ればよいかを認識し、/static/ からそれらすべてを提供します。