我有关于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
答案 0 :(得分:0)
以下是示例代码。您也可以用文件名替换logo.jpg
:
user.id_file.path.save("user/"+str(user.id)+"/logo.jpg", form.cleaned_data['logo'])
user.id_file.save()