如何按哈希值命名文件?

时间:2014-04-04 06:45:49

标签: django django-models

我想知道如何使用' upload_to'按哈希值命名上传文件。在models.ImageField或models.FileField中。

我知道this包,但我希望能够更好地控制命名过程。

我的主要问题是实例不是真正的模型实例,因为它还没有被保存。我已经看过docs,但它没有提到解决方法,或者至少我没有得到它。

def get_upload_file_name(instance, filename):
    pass

1 个答案:

答案 0 :(得分:1)

您可以访问包含instance实例的UploadFile字段,您可以阅读内容:

import hashlib

def get_upload_file_name(instance, filename):
    return hashlib.sha1(instance.field.read()).hexdigest()