Создание картинки на лету

Рейтинг: 5Ответов: 1Опубликовано: 20.01.2011

Есть HTML страница, которая создается шаблонами Django. На эту страницу проставляется внешняя ссылка с другого ресурса. Необходимо на лету создать для ссылки из страницы картинку (jpg, gif и т.п.). Внешняя ссылка выглядит просто

<img src=".../01234.png" width="200" height="50">

но картинка не статическая, а создается на лету, при обращении к ссылке. Как это можно сделать на Python/Django?

Ответы

▲ 6Принят

А в чём, собственно, проблема? Берёте PIL, рисуете нужную картинку. Создаёте response с правильным mime'ом: response = HttpResponse(mimetype='image/png'). Дальше вызываете стандартный метод Image.save, передав ему параметром response (который ведёт себя в точности как файл), а вторым аргументом, соответственно, 'PNG'. Возвращаете response. Дальше Джанго разберётся.