Flask-SQLAlchemy: тип столбца фотографий - PullRequest
8 голосов
/ 24 ноября 2011

В веб-приложении, которое я кодирую с помощью Flask / SQLAlchemy, для некоторых из моих моделей требуется тип столбца «Фото», который бы обрабатывал сохранение исходного изображения где-то в файловой системе и создавал разные миниатюры по размеру изображения. В идеале я бы хотел что-то вроде:

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, чтобы я мог получить доступ к URIS / URLS с указанным синтаксисом? Кстати, если у кого-то есть хороший учебник / ресурс (кроме официального документа) по пользовательским типам с помощью SQLAlchemy, я был бы признателен, если бы он мог поделиться им.

Thx.

Ответы [ 2 ]

2 голосов
/ 02 июля 2014

Вы смотрели на Flask-Upload ?Кажется, это именно то, что вы искали.

1 голос
/ 25 ноября 2011

Это не ответ, но я думаю, что для миниатюр изображений удобнее использовать структуру, подобную описанной ниже по ссылке:

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

Используя тег для создания миниатюр, вам нужно хранить только исходный путь к изображению в БД.

...