使用 model.FileField 在 Django 中保存之前修改文件名
Posted
技术标签:
【中文标题】使用 model.FileField 在 Django 中保存之前修改文件名【英文标题】:Modify Filename Before Saving in Django using model.FileField 【发布时间】:2011-05-20 14:50:29 【问题描述】:我有一个 model.FileField(upload_to='%Y/%m/%d') 字段。这很好用;但是,我想在保存之前根据用户上传文件的上下文重命名文件。有没有办法在保存之前修改请求对象以完成此操作?
我遇到过有类似问题的人,但答案总是指向 Django 文档。我已经尝试使用文档来解决这个问题,但不能。有人可以提供一些代码来显示热点来解决这个问题吗?
提前致谢。
【问题讨论】:
In django changing the file name of uploading file的可能重复 【参考方案1】:您可以使用带有实例和文件名输入并返回路径和文件名的 upload_to 值函数
例如:
def upload_to_func(instance, filename):
now = datetime.now()
return os.path.join(str(now.year), str(now.month), str(now.day), filename)
field_x = model.FileField(upload_to=upload_to_func)
您可以在函数中更改路径和文件名
【讨论】:
以上是关于使用 model.FileField 在 Django 中保存之前修改文件名的主要内容,如果未能解决你的问题,请参考以下文章
launch_map: "Dict[asyncio.Task[object], threading.Thread]" = -Error While Creating Djan