【问题标题】:Flask MongoEngine Paginated Documents with Image Field带有图像字段的 Flask MongoEngine 分页文档
【发布时间】:2017-07-03 15:41:38
【问题描述】:

没有看到这个确切的问题发布,所以如果它存在,请随时指出它。我也是 mongo 的新手,所以我的措辞可能很奇怪。

我有一个文档集合,它最终会变得非常大。我已经设置好让文档有一个 ImageField。我想返回完整的文档以及填充为文件的 ImageField 缩略图,以便我可以在我的 html5/javascript 前端显示它。

在 SQL 中,这将通过列选择器和连接来完成。

看这里:

from flask_mongoengine import MongoEngine
import datetime

db = MongoEngine()

class img_audit(db.Document):
    request_image = db.ImageField(size=(1920, 1080, True), thumbnail_size=(100, 100, True))
    processed_date = db.DateTimeField(default=datetime.datetime.utcnow)
    state = db.StringField()
    city = db.StringField()

查询:

form = request.form
dpage = form['page']
perpage = form['perpage']
pag_audits = img_audit.objects.paginate(page=int(dpage), per_page=int(perpage))
pag_res = []
for item in pag_audits.items:
    pag_res.append(item.to_json())
return jsonify({'audits' : pag_res})

目前,查询只是返回 ImageField 的 _oid,就好像它是一个嵌套文档一样。我怎样才能只获取缩略图并一次性返回所有这些?

在用户界面,当用户点击缩略图时,我会做一个获取高清图片的请求。

感谢任何提示!

-------更新1--------------

尝试了以下方法:

pag_audits = img_audit.objects.only('processed_date', 'state', 'city', 'request_image.thumbnail').paginate(page=int(dpage), per_page=int(perpage))

收到以下错误: mongoengine.errors.LookUpError:无法解析字段 request_image 上的子字段或操作员缩略图

【问题讨论】:

    标签: python mongodb flask


    【解决方案1】:

    我最终只使用 Mongo 作为键/值和 Azure Blob 存储来存储文件。由于成本、内容交付和可扩展性等多种原因,这最终成为了一个更好的解决方案。

    【讨论】:

      猜你喜欢
      • 2015-04-24
      • 2013-03-27
      • 2016-08-01
      • 2020-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多