python - 使用 Django 提供动态生成的图像

标签 python ajax django image

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

相关文章:

python - 如何在django请求中获取POST、DELETE

Python模块搜索路径问题

python - 检查矩阵中的值是否与数组中的值匹配,如果不匹配则返回矩阵索引

javascript - jQuery AJAX 自动刷新值

javascript - (WordPress/Ajax) 引用错误 : Can't find variable: ajaxobject

Django:使用 to_field 和 ModelChoiceForm 使用外键保存模型表单

使用注释的 Django ORMforeignKey 查询集输出

python - Pandas DataFrame.drop_duplicates() 缺少一些东西?

python - 如何使用 AWS Python SDK Boto 3 等待 Elastic Beanstalk 事件

javascript - "async"的使用已被弃用。在 ajax/Jquery 中进行同步调用的替代方法