8

在我使用 Flask/SQLAlchemy 编码的 Web 应用程序中,我的几个模型需要一个“照片”列类型,它可以处理将原始图像存储在文件系统中的某个位置,并创建图像的不同缩略图大小。理想情况下,我想要类似的东西:

class MyModel(Base):
    id        = Column(Integer, primary_key=True)
    photo     = Column(Photo(root="/path/to/photos/", formats={
        "big"      : "800x600",
        "small"    : "400x300",
        "thumbnail": "100x75"
    }))

然后,我可以像这样访问文件的 URI/URL:model.photo.big 等...

所以,我的问题是:如何在 model.photo 对象上添加 setter/getter 以便我可以使用提及的语法访问 URIS/URLS?顺便说一句,如果有人有关于使用 SQLAlchemy 的用户定义类型的良好教程/资源(除了官方文档),如果他能分享它,我将不胜感激。

谢谢。

4

2 回答 2

2

你看过Flask-Upload吗?这似乎正是您要寻找的。

于 2014-07-02T06:26:16.240 回答
1

这不是一个答案,但我认为使用下面链接中描述的结构来获取图像缩略图会更方便:

http://flask.pocoo.org/mailinglist/archive/2011/1/26/pil-to-create-thumbnails-automatically-using-tag/#32aff91e05ba9985a49a76a4fb5338d7

使用标签创建缩略图,您只需将原始图像路径存储在数据库中。

于 2011-11-25T15:55:39.430 回答