如何在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,并添加某种缓存机制,但是我的理解是,这不会影响解决方案的这一部分。
我假设您正在使用PIL(Python影像库)。您需要用(例如,如果要提供PNG图像)替换最后一行:
response = HttpResponse(mimetype="image/png") img.save(response, "PNG") return response
有关更多信息,请参见此处。