问题描述
在 django 中可以更改上传文件的文件名吗?我搜索过,但找不到任何答案.
我的要求是,无论何时上传文件,其文件名都应更改为以下格式.
format = userid + transaction_uuid + file_extension
非常感谢...
你是如何上传文件的?我假设使用 FileField
.
FileField 的文档.upload_to 表示 upload_to
字段,
也可以是可调用的,例如函数,它将被调用获取上传路径,包括文件名.这个可调用的必须能够接受两个参数,并返回一个Unix 风格的路径(带正斜杠)传递到存储系统.将成为的两个论点通过的是:
实例":一个实例FileField
所在的模型定义.更具体地说,这是特定情况下正在附加当前文件.
"filename":文件名最初给文件.这可能或者在以下情况下可能不被考虑确定最终目的地路径.
所以看起来你只需要创建一个函数来处理你的名字并返回路径.
def update_filename(instance, filename):路径=上传/路径/";格式 = instance.userid + instance.transaction_uuid + instance.file_extension返回 os.path.join(路径,格式)
Is it possible to change the file name of an uploaded file in django? I searched, but couldn't find any answer.
My requirement is whenever a file is uploaded its file name should be changed in the following format.
format = userid + transaction_uuid + file_extension
Thank you very much...
How are you uploading the file?I assume with the FileField
.
The documentation for FileField.upload_to says that the upload_to
field,
So it looks like you just need to make a function to do your name handling and return the path.
def update_filename(instance, filename):
path = "upload/path/"
format = instance.userid + instance.transaction_uuid + instance.file_extension
return os.path.join(path, format)
这篇关于如何在 Django 中更改上传文件的文件名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!