Python Django表单向导:如何在保存步骤数据之前更改文件字段的文件名?

时间:2014-01-24 09:06:46

标签: python django django-formwizard

我有关于formwizard的问题。我正在使用一个有6个步骤的formwizard,在第5步中有一个文件字段。一切正常,除非我尝试上传文件名包含非ascii字符的文件。我写了一个方法来替换非ascii字符并将其放入我的模型的save方法中。这也有效。

现在的问题是,表单向导会在最终保存所有表单中的数据之前将文件上载到temp-dir。这里没有调用模型的save方法,因此文件名没有改变,我得到一个错误。如何在保存步骤数据之前更改文件名?

更新:我必须配置我的Apache以便它接受非ASCII文件名 - https://docs.djangoproject.com/en/1.4/howto/deployment/modpython/#if-you-get-a-unicodeencodeerror

1 个答案:

答案 0 :(得分:0)

以下是示例代码。您也可以用文件名替换logo.jpg

user.id_file.path.save("user/"+str(user.id)+"/logo.jpg", form.cleaned_data['logo'])
user.id_file.save()