「website」というアプリがあり、プロジェクトのすべての静的ファイルを含む「静的」フォルダーが内部にあるプロジェクトについて考えると、単にマップするのではなく、すべての静的ファイルを収集して別のフォルダーに配置する必要があるのはなぜですかWeb サーバーの静的フォルダー (website/static)? Django が静的ファイルを収集する本当の必要性は何ですか? たくさんのアプリがあり、静的ファイルを別のフォルダーに置くことができるという理由だけで? それとも、それ以上のことが関係していますか?
質問する
235 次
1 に答える
3
カプセル化されたアプリ構造全体 (URL、ビュー、モデル、テンプレートなどはアプリ固有) によって明らかになっている、django のプラグイン可能なアプリの哲学のためです。
プロジェクト名がインポートに含まれていない最新の django プロジェクト構造で、この哲学がさらに強調されていることがわかります。アプリはグローバルにインポートされますfrom myapp import models
。from project.myapp import models
サードパーティからアプリをインストールする場合、アプリケーションがどこにあるかを骨の折れる作業をする必要はありません。django は、環境固有の静的ファイルを提供する場所にアプリケーションを移動するだけです。
に追加するだけINSTALLED_APPS
で、テンプレートからモデル、静的ファイルまで、ファイルがどこにあるかを知っているサードパーティ製アプリのほぼすべての機能を利用できます。
PS:アプリをプラグ可能にする場合を除き、私は個人的に app-directory 静的ファイル システムを使用しません。ファイルがどこにでもあると、IMO を見つけて維持するのが難しくなります。
于 2014-05-20T22:06:48.250 に答える