0

私はdjangoプロジェクトにファイルをアップロードしています。効率的な方法で保存する必要があります。現在、私はファイルを保存するルートディレクトリにmedia.pyを作成するためにsettings.pyの以下の行を使用しています。djangoのアプリのメディアパス

ENV_PATH = os.path.abspath(os.path.dirname(__file__)) 

MEDIA_ROOT = os.path.join(ENV_PATH, 'media/') 

しかし、ファイルをappディレクトリ内に保存します。私のアプリケーションディレクトリへのパスを見つけることは可能ですか?それは可能ですか、それを達成するために上記の行をどのように変更する必要がありますか?

アプリケーションディレクトリにメディアファイルを追加するのは適切な方法ですか、ルートディレクトリに保存されているのですか?ここでは最高の基準ですか?

答えて

2

これはおそらく良い考えではありません。おそらく、それぞれのアプリの後にサブディレクトリを持つmediaフォルダを指定する必要があります。

スタティックファイルのようなメディアファイルは、Djangoアプリと同じWebサーバーによって配信されるのが理想的ではありません。静的+メディアサーバーによって各アプリケーションディレクトリにメディアディレクトリを提供するきっかけがないかもしれません。テンプレートはTrueに設定APP_DIRSオプションを持っているので、アプリのフォルダの中に生きることができる

静的およびテンプレートファイルは、アプリケーションフォルダの中からテンプレートをロードするようにDjangoに指示し、静的ファイルはmanage.py runserverコマンドによって提供されており、収集することができ、役立ちましたmanage.py collectstaticコマンドを使用します。メディアファイルにcollectstaticコマンドを実行することは実際には不可能です(技術的にはdjango-mediafilesで可能ですが、推奨するものではありません)。

+0

ありがとうございます。正確に私が必要としたもの。 – krish

関連する問題