是否可以在django中更改上传文件的文件名?我搜索了一下,但没有找到任何答案.

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

format = userid + transaction_uuid + file_extension

非常感谢你...

推荐答案

您是如何上传文件的? 我假设是FileField美元.

FileField.upload_to的文档说upload_to字段,

也可以是可调用的,例如

"instance":一个实例 FileField号车所在的型号 已定义.更具体地说,这是 特定的实例,在该实例中, 正在附加当前文件.

"filename":文件名为 最初提供给这份文件的.这可能是 或者在以下情况下可能不会考虑 确定最终目的地 路径.

所以看起来您只需要创建一个函数来处理您的名字并返回路径.

def update_filename(instance, filename):
    path = "upload/path/"
    format = instance.userid + instance.transaction_uuid + instance.file_extension
    return os.path.join(path, format)

Django相关问答推荐

如何在django模板中渲染标签集

Django ORM ForeignKey查询使用注释设置输出

Django REST框架中如何从另一个视图调用API视图?

从url参数过滤的Django日期范围返回空查询集

Django ORM:子查询上的文本聚合器

使用 Django 一次更新多条记录

是否有 django 模板过滤器来显示百分比?

JSP模板继承

在 Bootstrap 中使单击的选项卡处于活动状态

在 Django CharFields 中自动截断 max_length 字段

目前使用 Django Evolution,South是否更好,值得切换?

Django:创建索引:非唯一,多列

从 virtualenv 中,pip freeze > requirements.txt 给出了一堆垃圾!如何修剪它?

从基于类的通用视图中获取 request.session

django:TypeError:'tuple'对象不可调用

如何在 Django 中测试自定义模板标签?

如何从 Django 的 TabularInline 管理视图中省略对象名称?

过滤 Django 数据库中包含数组中任何值的字段

Django:在模块中实现 status字段的最佳方式

APIView 类和视图集类之间的区别?