在我的django表单向导上,我添加了一个文件字段来上传csv文件。在get_context_data中,我试图处理文件中包含的一些信息。
我可以打印(self.get_cleaned_data_for_step('0')['file'])
并返回一个对象。但是,当我尝试使用它打开它
file = open(self.get_cleaned_data_for_step('0')['file'], "rb")
它返回此错误:
TypeError at /research/lists/1/import/
invalid file: <UploadedFile: SalesJan2009.csv (application/vnd.ms-excel)>
这里有Mime类型的问题吗?有没有办法在文件上传后更改Mime类型?
答案 0 :(得分:0)
您无法通过cleaned_data
访问上传的文件。有关如何使用FormWizard
要在向导的任何步骤形式中处理
FileField
,您必须向file_storage
子类添加WizardView
。此存储将临时存储向导的上载文件。
file_storage
属性应该是Storage
子类。
一旦你设置了这个,WizardView
课程就会有一个get_form_step_files
方法,可以让你获得上传的文件。