Django はこれを行う優れた方法を提供します - aSimpleUploadedFile
または aを使用しTemporaryUploadedFile
ます。SimpleUploadedFile
保存する必要があるのがセンチネルデータだけである場合、一般的にはより簡単なオプションです。
from django.core.files.uploadedfile import SimpleUploadedFile
my_model.file_field = SimpleUploadedFile(
"best_file_eva.txt",
b"these are the file contents!" # note the b in front of the string [bytes]
)
これは、ドキュメントに表示されないdjangoの魔法の機能の1つです:)。ただし、ここで参照され、ここで実装されます。
制限事項
舞台裏を使用して実装されているためbytes
、 aのみを入れることができることに注意してください。より現実的なファイルのような動作が必要な場合は、.SimpleUploadedFile
BytesIO
TemporaryUploadedFile
Python 2 の場合
Python 2 で行き詰まっている場合b
は、コンテンツ内のプレフィックスをスキップしてください。
my_model.file_field = SimpleUploadedFile(
"best_file_eva.txt",
"these are the file contents!" # no b
)