2012-02-29 8 views
5

私は答えを見つけることができなかった非常に簡単な質問があります。 Django staticfiles appを使用して、私はこのコマンドラインを入力してstatics collectルーチンを呼び出します:python manage.py collectstaticDjango静的ファイルにユーザーがアップロードしたメディアディレクトリファイルを収集しないように指示するにはどうすればよいですか?

私の問題は、いくつかのアプリケーションに静的サービスを提供している+ メディアディレクトリがユーザーがアップロードしたファイルを含んでいることです。 Djangoはすべてのファイルをメディアファイルを含む静的ディレクトリにコピーします。

python manage.py collectstaticを呼び出すと、Django は静的ディレクトリにユーザがアップロードしたファイルをコピーしないようにしたいと思います。誰にもアイデアはありますか? --ignoreを試してみましたが、成功しませんでした...

ありがとうございます。

+1

ここにstatisfilesの設定を追加してください。 – histrio

+0

ユーザーがアップロードしたメディアをMEDIA_ROOT(所属する場所)に移動するのはオプションですか? – Tony

+0

実際、ファイルはユーザーによってMEDIA_ROOTにアップロードされます。すべてがOKで、私はテンプレートで使用できます。問題は、collectstaticsが 'MEDIA_ROOT/* 'を' STATIC_ROOT'にコピーすることです。だから私は感謝しているのは、すべての単一のユーザーがアップロードしたファイルを複製することでサーバを過負荷にすることになります。 – user650108

答えて

0

--ignoreを使用すると正確には機能しません。

本当の解決策は、ユーザーが作成したコンテンツと静的ファイルを混在させることではありません。

両方のタイプを分離しておくと、静的ファイルをバージョン管理下に簡単に置くことができ、このフロントでも除外を処理する必要はありません。そして、実際にはメディアからの分離(ユーザー生成)と静的ファイルがstaticfilesの根拠です:Djangoの以前のバージョンの

、ユーザーがアップロードしたファイルと一緒にMEDIA_ROOTに静的な資産 を配置するのが一般的だった、と両方とも MEDIA_URLにお送りください。静的ファイルを ファイルとは別に保存しやすくするため、staticfilesアプリケーションを導入する目的の一部は です。

このトピックに関するドキュメントは本当に包括的:django.contrib.staticfiles.finders.DefaultStorageFinderの問題だったhttps://docs.djangoproject.com/en/dev/howto/static-files/

6

は、STATICFILES_FINDERSからそれを削除してみてください。

関連する問題