Amazon S3 で django-storages を使用しており、以下を使用して画像ファイルをアップロードしています。
models.ImageField(upload_to="img=%Y-%m-%d", max_length=256, blank=True, null=True)
ただし、ファイルが S3 にアップロードされると、元のファイル名が最後に添付されます。それを取り除き、代わりにランダムハッシュと置き換えるにはどうすればよいですか?
Amazon S3 で django-storages を使用しており、以下を使用して画像ファイルをアップロードしています。
models.ImageField(upload_to="img=%Y-%m-%d", max_length=256, blank=True, null=True)
ただし、ファイルが S3 にアップロードされると、元のファイル名が最後に添付されます。それを取り除き、代わりにランダムハッシュと置き換えるにはどうすればよいですか?
文字列の代わりに呼び出し可能オブジェクトをに指定しますupload_to
。呼び出し可能オブジェクトには、保存されているインスタンスとファイル名が渡され、ファイル名を含むフルパスを返す必要があるため、元のファイル名を使用しないように選択できます。strftime
(ただし、で自分自身を呼び出す必要がありますdatetime.date.today()
)。