如何使用默认文件存储 (S3) 通过 Django FormTools 表单向导上传文件?
How can I use the Default File Storage(S3) to upload files with Django FormTools form wizard?
上传文件时,django-formtools 表单向导需要一个地方来临时存储,直到用户完成向导中的所有步骤。
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-storages 和 S3 来存储我们所有的文件。我想使用 django-storages 来管理上传过程。
我怎样才能修改这个视图,以便我们使用默认存储系统将这个文件上传到 S3 上的一个临时位置?
此配置将允许您将文件直接上传到 django 项目的默认存储后端。您可以在 documentation.
中了解它的工作原理
from django.core.files.storage import DefaultStorage
class CustomWizardView(WizardView):
...
file_storage = DefaultStorage()
上传文件时,django-formtools 表单向导需要一个地方来临时存储,直到用户完成向导中的所有步骤。
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-storages 和 S3 来存储我们所有的文件。我想使用 django-storages 来管理上传过程。
我怎样才能修改这个视图,以便我们使用默认存储系统将这个文件上传到 S3 上的一个临时位置?
此配置将允许您将文件直接上传到 django 项目的默认存储后端。您可以在 documentation.
中了解它的工作原理from django.core.files.storage import DefaultStorage
class CustomWizardView(WizardView):
...
file_storage = DefaultStorage()