Flask-SQLAlchemy:照片列类型

arn*_*che 8 python sqlalchemy flask flask-sqlalchemy

在我使用Flask/SQLAlchemy进行编码的Web应用程序中,我的几个模型需要一个"Photo"列类型,它可以处理将原始图像存储在文件系统的某个位置,并创建图像的不同缩略图大小.理想情况下,Id需要以下内容:

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

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

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

谢谢.

Ahm*_*ruz 1

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

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

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