小编典典

使用Django服务动态生成的图像

ajax

如何在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,并添加某种缓存机制,但是我的理解是,这不会影响解决方案的这一部分。


阅读 221

收藏
2020-07-26

共1个答案

小编典典

我假设您正在使用PIL(Python影像库)。您需要用(例如,如果要提供PNG图像)替换最后一行:

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

有关更多信息,请参见此处

2020-07-26