ファイルをアップロードするとき、django-formtoolsフォームウィザードは、ユーザがウィザードのすべてのステップを完了するまで、一時的にフォームを保存する場所が必要です。Django FormToolsフォームウィザードでデフォルトファイルストレージ(S3)を使用してファイルをアップロードするにはどうすればよいですか?
FormTools documentationは、サーバー上のローカルフォルダにファイルをアップロードする方法の例を示しています。ファイルをアップロードするにはfile_storage設定が必要です。
from django.core.files.storage import FileSystemStorage
class CustomWizardView(WizardView):
file_storage = FileSystemStorage(location=os.path.join(settings.MEDIA_ROOT, 'photos'))
私たちはHerokuを使用しており、ファイルをアップロードするときにローカルストレージにアクセスできません。私たちはdjango-storageとS3を使ってすべてのファイルを保存します。アップロードプロセスを管理するために、django-storageを使用したいと思います。
デフォルトのストレージシステムを使用してこのファイルをS3上の一時的な場所にアップロードできるように、このビューを変更するにはどうすればよいですか?
ファイルは、少なくとも本番サーバーの一時的な場所に保存されますか?または、あなたは単にメモリファイルオブジェクトを取得でき、保存できません。 –
@ArpitSolankiはい、コード例で構成されているように、ファイルは一時的な場所に保存されます。私はちょうどそれがサーバーに保存されていないようにします。これは主に、プロダクションではサーバーに保存できないためです。私はformtoolsが物理的なファイルを望んでいるので、メモリが動作するとは思いません。 – citadelgrad