一尘不染

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

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


阅读 477

收藏
2020-03-31

共1个答案

一尘不染

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

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