【发布时间】:2015-07-30 18:32:21
【问题描述】:
我正在做一个 Django 项目。我希望用户能够做的是上传文件(通过表单),然后将文件本地保存到自定义路径并使用自定义文件名 - 它的哈希。我能想到的唯一解决方案是使用我正在使用的 FileField 的“upload_to”参数。这意味着什么(我认为):
1) 将文件写入磁盘
2) 计算哈希
3) 返回路径+哈希作为文件名
问题是有两种写操作:一种是从内存中保存文件到磁盘计算hash,另一种是实际保存文件到指定位置时。
有没有办法覆盖 FileField 的保存到磁盘方法(或者我在哪里可以找到幕后发生的确切情况),这样我基本上可以使用临时名称保存文件,然后将其重命名为哈希,而不是它被保存两次。
谢谢。
【问题讨论】: