開発では、Django が静的ファイルを自動的に提供するため、STATIC_ROOT は事実上役に立ちません。各アプリのディレクトリ。デプロイメント中、STATIC_ROOT は、Nginx が静的コンテンツを見つけて提供するために重要になります。
STATIC_ROOT は、manage.pycollectstatic を実行した後に Django がすべての静的ファイルを収集して出力する場所を指定します。 。この場所には、Web サイトを提供する Web サーバー (Nginx など) からアクセスできる必要があります。
STATICFILES_DIRS は、collectstatic で検索する追加のディレクトリを含めることができるオプションの設定です。静的ファイルの場合。これは、デフォルトのアプリ ディレクトリの外に静的ファイルがある場合に便利です。
提供されたコードによると、JS ファイルがSTATIC_ROOT で指定された場所に見つかりません。これは、admin.py が STATIC_ROOT ではなく、STATICFILES_DIRS の admin/ サブディレクトリでファイルを検索するためです。
STATICFILES_DIRS に変更することで、JS ファイルが配置されているパスが含まれるため、この問題を解決できました。
Setting | Purpose | Deployment |
---|---|---|
STATIC_FILES_DIR | Additional directories for static files | n/a |
STATIC_ROOT | Location where static files are collected | Required |
MEDIA_ROOT | Location for user-uploaded files | n/a |
以上が質問の形式を強調した、いくつかのタイトルのオプションを次に示します。 * **STATIC_FILES_DIR、STATIC_ROOT、および MEDIA_ROOT: 違いは何ですか?また、それぞれをいつ使用すればよいですか?** * **Django のデプロイメント: STATI が必要な理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。