如何在Django中更改上传文件的文件名?

可以在Django中更改上传文件的文件名吗?我搜索了,但找不到任何答案。

我的要求是,无论何时上传文件,其文件名都应以以下格式更改。

format = userid + transaction_uuid + file_extension

非常感谢你…

回答:

你如何上传文件?我以为FileField

FileField.upload_to的文档说,该upload_to字段

也可以是可调用的,例如函数,将被调用以获得上载路径,包括文件名。该可调用对象必须能够接受两个参数,并返回要传递给存储系统的Unix样式的路径(带有正斜杠)。将传递的两个参数是:

““:FileField定义的模型实例。更具体地说,这是附加当前文件的特定实例。

““:最初提供给文件的文件名。确定最终目标路径时,可以考虑也可以不考虑。

因此,看起来你只需要创建一个函数来进行名称处理并返回路径即可。

def update_filename(instance, filename):

path = "upload/path/"

format = instance.userid + instance.transaction_uuid + instance.file_extension

return os.path.join(path, format)

以上是 如何在Django中更改上传文件的文件名? 的全部内容, 来源链接: utcz.com/qa/427109.html

回到顶部