如何在 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
见 here了解更多信息。
关于python - 使用 Django 提供动态生成的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1074200/