django - 将 mongoengine 与 models.ImageField 一起使用

标签 django amazon-s3 mongoengine

我在使用 django/mongoengine 应用程序时遇到问题 django-athumb .我正在尝试保存不同大小的图像并将它们存储在 S3 上,这正是 athumbs 在与股票 django 安装一起使用时所做的。但是,使用 mongoengine,在对象的字段上调用 ​​save() 会导致“'ImageWithThumbsField' 对象没有属性 'save'”消息。

在处理文件上传的 View 函数中(其中 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 一起使用是不可能的(或至少是不切实际的)吗?

最佳答案

我知道这个问题很老,但当时似乎不支持 ImageField in mongoengine - this was added in version 0.6.

如果您仍然对 mongoengine 有问题,请尝试升级到大于 0.6 的版本 .. 他们甚至加入了生成缩略图的功能

关于django - 将 mongoengine 与 models.ImageField 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7800862/

相关文章:

node.js - 将文件解压到 S3 失败,不知道为什么

indexing - 如何在 mongoengine 中创建一个索引为 unique=True 和 sparse=True

python - Django 反向函数参数

python - DRF - 如何使用 Oauth Toolkit 验证应用程序?

django - 如何在重写 save_model 方法时防止出现 "Changed successfully"消息

database - Django 数据库可扩展性

java - 尝试处理 s3 文件时出现 OOM

amazon-web-services - 如何在AWS s3和AWS ec2之间传输文件

python - MongoEngine - 另一个用户已通过此数据库的身份验证。您必须先退出

django - 在安装 Django-nonrel 之前是否需要卸载 Django 1.3?