0

をDjangoのためにファイルをアップロードするために、なぜ私は次のことを知っていただきたいと思います:静的なディレクトリをDjangoのために直接ではなく、静的ルート

1)なぜあなたは、静的なディレクトリにファイルをアップロードし、その代わりに直接アップロードの「collectstatic」を実行する必要があります静的ルートfolder.Iは、あなたが「collectstatic」コマンドを実行したときに

2)は、それが静的ファイルに何をするのか...それはないファイルは最初、まだのpythonを介して実行なって、少し不安定な音を知っている

3)静的ルートに直接アップロードした結果、これに代わるものは何かdjangoのフレームワークに似ていますが、すべての静的ファイルをアップロードするのと同じワークフローを持っている場合は、ウェブ開発コミュニティ全体に任せます。

+0

であることを

注意? – RemcoGerlich

答えて

2

なぜあなたは、静的なディレクトリにファイルをアップロードし、 「collectstatic」を実行する必要があります

あなたはユーザが投稿したコンテンツの話をしている場合、あなたは間違いなく任意の静的なディレクトリにそれをアップロードしない必要があります - それはです「MEDIA_ROOT」と「MEDIA_URL」は何のためのものです。 「静的な」ファイルは、バージョン管理下に置かれているあなたのアプリケーションまたはプロジェクトのアセット(スタイルシート、jsなど)です。あなたが直接、「静的ルート」でこれらの静的ファイルを入れていない理由として

:あなたはバージョン管理下にそれらのファイルを保存しておきたいので

  • 最初の(彼らはあなたのソースの一部である)が、フロントWebサーバーから直接サービスを提供したり、最終的には別個のサーバー、CDNまたはWhateoeverから提供することもできます。そのため、プロジェクトのツリーから直接配信することはできません。

  • すべてこれらの静的ファイル(プロジェクト固有のファイル)と、使用している3番目のアプリケーションからの静的ファイルも同じです。 2番目の質問に答える

collectstaticは、主に、(あなたの設定に応じて)すべて、またはあなたの静的ファイルを探し、それらをSTATIC_ROOTにコピーします。また、staticfilesストレージに応じて追加処理を適用することもできます。 all thisは、ユーザーがアップロードした静的なサイトに属するファイル(その.cssファイルなど)またはファイルを意味するかfully documented FWIW

関連する問題