在我使用Flask / SQLAlchemy进行编码的Web应用程序中,我的几个模型需要一个“Photo”列类型,它可以处理将原始图像存储在文件系统的某个位置,并创建图像的不同缩略图大小。理想情况下,我想要像:
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的用户定义类型上有一个很好的教程/资源(官方文档除外),我将不胜感激,如果他能分享它。
THX。
答案 0 :(得分:2)
你看过Flask-Upload了吗? 这似乎正是你所寻找的。 p>
答案 1 :(得分:1)
这不是一个答案,但我认为使用下面描述的结构图像缩略图更方便:
使用标签创建缩略图,您只需要在数据库中存储原始图像路径。