我无法让 django/mongoengine 应用程序使用django-athumb。我正在尝试保存不同大小的图像并将它们存储在 S3 上,这正是 athumbs 在与股票 django 安装一起使用时所做的。但是,对于 mongoengine,在对象的字段上调用 save() 会导致“ 'ImageWithThumbsField' 对象没有属性 'save' ”消息。
在处理文件上传的视图函数内部(其中 doc.image 是ImageWithThumbsField):
if request.FILES.get('image'):
file = request.FILES['image']
fdat = file.read()
file_contents = ContentFile(fdat)
doc.image.save(file.name, file_contents)
以上导致上述错误。
如果我改为调用:
doc.image.attr_class(file_contents, doc.image, file.name).save(file.name, file_contents)
我可以访问 save 方法,但它很hackish并且可能会导致更多问题然后解决。我的问题:既然ImageWithThumbsField是 models.ImageField 的子类,那么将models.ImageField与mongoengine一起使用是不可能的(或者至少是不切实际的)?