1

「website」というアプリがあり、プロジェクトのすべての静的ファイルを含む「静的」フォルダーが内部にあるプロジェクトについて考えると、単にマップするのではなく、すべての静的ファイルを収集して別のフォルダーに配置する必要があるのはなぜですかWeb サーバーの静的フォルダー (website/static)? Django が静的ファイルを収集する本当の必要性は何ですか? たくさんのアプリがあり、静的ファイルを別のフォルダーに置くことができるという理由だけで? それとも、それ以上のことが関係していますか?

4

1 に答える 1

3

カプセル化されたアプリ構造全体 (URL、ビュー、モデル、テンプレートなどはアプリ固有) によって明らかになっている、django のプラグイン可能なアプリの哲学のためです。

プロジェクト名がインポートに含まれていない最新の django プロジェクト構造で、この哲学がさらに強調されていることがわかります。アプリはグローバルにインポートされますfrom myapp import modelsfrom project.myapp import models

サードパーティからアプリをインストールする場合、アプリケーションがどこにあるかを骨の折れる作業をする必要はありません。django は、環境固有の静的ファイルを提供する場所にアプリケーションを移動するだけです。

に追加するだけINSTALLED_APPSで、テンプレートからモデル、静的ファイルまで、ファイルがどこにあるかを知っているサードパーティ製アプリのほぼすべての機能を利用できます。

PS:アプリをプラグ可能にする場合を除き、私は個人的に app-directory 静的ファイル システムを使用しません。ファイルがどこにでもあると、IMO を見つけて維持するのが難しくなります。

于 2014-05-20T22:06:48.250 に答える