Подтвердить что ты не робот

Служить динамически сгенерированное изображение с Django

Как я могу выполнить динамически генерируемое изображение в Django?

У меня есть html-тег

<html>
...
    <img src="images/dynamic_chart.png" />
...
</html>

связанный с этим обработчиком запросов, который создает изображение в памяти

def chart(request):
    img = Image.new("RGB", (300,300), "#FFFFFF")
    data = [(i,randint(100,200)) for i in range(0,300,10)]
    draw = ImageDraw.Draw(img)
    draw.polygon(data, fill="#000000")
    # now what?
    return HttpResponse(output)

Я также планирую изменить запросы на AJAX и добавить какой-то механизм кэширования, но я понимаю, что это не повлияет на эту часть решения.

4b9b3361

Ответ 1

Я предполагаю, что вы используете PIL (Python Imaging Library). Вам нужно заменить свою последнюю строку (например, если вы хотите использовать изображение PNG):

response = HttpResponse(mimetype="image/png")
img.save(response, "PNG")
return response

Подробнее см. здесь.

Ответ 2

Я относительно новичок в Django. Я не смог найти что-либо в самом Django, но я наткнулся на проект Google Code, который может вам помочь:

django-dynamic-media-serve