[解決済み] STATICFILES_DIR, STATIC_ROOT, MEDIA_ROOT の違いについて
質問
これら3つの静的URLの違いは何ですか?
私は正しいかどうかわからないが、私は、この3つの静的URLのうち
MEDIA_ROOT
を使用してアップロードした写真を保存しています (via
models.ImageField()
)
しかし、管理画面にJSスクリプトを作成し、その中の
admin.py
. メディアを以下のように定義しました。
....
class Media:
js = ('/admin/custom.js', )
で、私の
settings.py
:
....
STATIC_ROOT = "/home/user/project/django1/top/listing/static"
を追加し、さらに
custom.js
に
STATIC_ROOT/admin/custom.js
に変更しましたが、うまくいきません。404 not foundエラーになります。
そして、私は
STATIC_ROOT
を
STATICFILES_DIRS
で、うまくいきました!
....
STATICFILES_DIRS = "/home/user/project/django1/top/listing/static"
というわけで、私はここで何が起こっているのか理解できていません。実際、私は以下の違いがわかりません。
STATIC_ROOT
と
STATICFILES_DIRS
.
現在、私は自分のマシンで virtualenv を使って Django をテストしていますが、まだデプロイしていません。
STATIC_ROOT
が機能しない理由ですか?
どのように解決するのですか?
これらの設定は Django ドキュメント . 以下は、私自身の定義と、ドキュメントからの引用です。
-
MEDIA_ROOT
を使用してアップロードされたファイルが格納されるフォルダです。FileField
を使ってアップロードされたファイルが入るフォルダです。を格納するディレクトリへの絶対ファイルシステム・パス。 ユーザがアップロードしたファイル .
-
STATIC_ROOT
を使用した後、静的ファイルが保存されるフォルダです。manage.py collectstatic
のあるディレクトリへの絶対パス。
collectstatic
がデプロイ用の静的ファイルを収集するディレクトリへの絶対パスです。もし
staticfiles
contrib app が有効な場合(デフォルト)にはcollectstatic
管理コマンドは、このディレクトリに静的ファイルを収集します。使い方の詳細は、静的ファイルの管理に関するHowtoを参照してください。 -
STATICFILES_DIRS
は、Django が追加静的ファイルを検索するフォルダのリストです。static
フォルダの他に、追加の静的ファイルを探すフォルダのリストです。この設定により、staticfilesアプリが
FileSystemFinder
ファインダーが有効な場合、例えばcollectstatic
またはfindstatic
管理コマンドを使用するか、静的ファイル提供ビューを使用します。
設定に、あるはずです。
MEDIA_ROOT = os.path.join(BASE_DIR, "media/")
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
# Make a tuple of strings instead of a string
STATICFILES_DIRS = ("/home/user/project/django1/top/listing/static", )
...ところ。
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
で定義されているように、デフォルトの Django の
settings.py
になりました。
関連
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] 0から9までのランダムな整数を生成する
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
-
[解決済み】Djangoでnull=Trueとblank=Trueの違いは何ですか?
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
-
[解決済み] Celeryタスクのユニットテストはどのように行うのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] googletransがエラー 'NoneType' オブジェクトに 'group' 属性がない、と言って動かなくなった。
-
[解決済み] Python 2.7サポート終了?
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] Flaskで非同期タスクを作る
-
[解決済み] virtualenvsはどこに作成するのですか?
-
[解決済み] 新しいpip backtrackingの実行時問題の解決
-
[解決済み] データクラスとtyping.NamedTupleの主な使用例