我正在尝试在 Django 中使用 ImageField 上传文件。我想在上传之前对这个 img 进行散列(使用 ImageHash),并使用散列文件名保存图像。下面是我的代码,你能帮我解决这个问题吗?
模型.py
from utils import hash_image
...
class: Subject(models.Model):
photo = models.ImageField(upload_to=hash_image)
...
实用程序
def hash_image(instance, filename):
instance.file.open()
ext = os.path.splitext(filename)[1]
image_hash = ''
image_hash = str(imagehash.average_hash(instance.file)) + '.' + ext
return image_hash
错误:
line 34, in hash_image
instance.file.open()
AttributeError: 'Subject' object has no attribute 'file'