6

大量のドキュメントを読んだ後でも、静的ファイルとユーザーがアップロードしたファイルとして正確にカウントされるもの、または正確に静的ファイルとは何かについて、まだよく理解していません。

1. 静的ファイル

Djangoでは、静的ファイルを「画像、javascript、css」などと表現しています。わかりました。しかし、これらの .py ファイルや .html テンプレート ファイルなどはすべて静的ではありませんか?? サイトの実行中に「変更」されることはありません。静的ファイルとは正確には何ですか? 「静的ファイルを提供する」とはどういう意味ですか? 「views.py」ファイルや「home.html」ファイルを「提供」するのとどう違うのですか?

それに加えて、なぜ「collectstatic」が必要なのですか? すべての静的ファイルを 1 か所に配置する必要があるのはなぜですか? 別のWebサーバーを使用してそれらを「提供」している場合、それは理にかなっていると思います...それでも、それが何を意味するのか正確にはわかりません。

また、「collectstatic」はどこに行って、想定されるすべての静的ファイルを見つけますか? すべてのコードを調べて、画像/JavaScript ファイルにアクセスしている場所を確認しますか?

2. ユーザーがアップロードしたファイル

この静的なものを額面通りに受け取ったとしましょう。ユーザーが画像をアップロードするとどうなりますか? バックグラウンドで常に「collectstatic」を実行するプログラムが必要ですか?

Djangoでは、メディア ファイルはユーザーがアップロードしたコンテンツを管理する方法であると説明しています。正直なところ、私はこれを試したことはありませんが (今すぐ試してみます)、それでもこれは疑問です: すべての「静的」ファイルを 1 か所に配置することが非常に重要である場合、なぜユーザーに対してそれを行わなくても突然 OK になるのでしょうか?アップロードされたファイル?

この「MEDIA_ROOT」ディレクトリ内のファイルは、「collectstatic」によって収集されませんか? すべての画像、javascript、css をこのメディア フォルダに入れるとどうなりますか? その後、何も収集されませんか?何か問題がありますか?

誰もがこれについて流せる洞察をありがとう。

4

3 に答える 3