如何在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