2

ユーザーが画像をアップロードできるアプリケーションを構築しています。S3 boto で django-storage を使用して、画像を S3 に保存しています。私は Django を初めて使用するので、いくつか質問があります。

  • アップロード中に作成された一時ファイルは自動的に削除されますか、それとも削除する必要がありますか? はいの場合、どのように?
  • ファイルがメモリ内に作成された場合、ファイルは自動的にメモリから削除されますか?
  • Django Imagefile を作成すると、一時ファイルが作成されますか?
  • ファイルを開いた後、明示的に閉じる必要がありますか? そうしようとしましたが、エラークローズメッセージが表示されました。どうすればいいのですか?

簡単な例をいただければ幸いです。

4

1 に答える 1

1

Django のドキュメントからの引用:

アップロードされたデータの保存場所

アップロードしたファイルを保存する前に、データをどこかに保存する必要があります。

デフォルトでは、アップロードされたファイルが 2.5 メガバイトより小さい場合、Django はアップロードの内容全体をメモリに保持します。つまり、ファイルの保存にはメモリからの読み取りとディスクへの書き込みのみが含まれるため、非常に高速です。

ただし、アップロードされたファイルが大きすぎる場合、Django はアップロードされたファイルをシステムの一時ディレクトリに保存されている一時ファイルに書き込みます。Unix ライクなプラットフォームでは、これは Django が /tmp/tmpzfp6I6.upload のような名前のファイルを生成することを期待できることを意味します。アップロードが十分に大きい場合、Django がデータをディスクにストリーミングするにつれて、このファイルのサイズが大きくなるのを見ることができます。

これらの詳細 – 2.5 メガバイト。/tmp; など–単に「合理的なデフォルト」です。アップロード動作をカスタマイズまたは完全に置き換える方法の詳細については、以下をお読みください。

ソース: https://docs.djangoproject.com/en/dev/topics/http/file-uploads/

于 2013-05-23T15:20:59.380 に答える