如何在Django的html模板中引用从视图返回的matplotlib图?

时间:2018-03-14 15:45:44

标签: python html django matplotlib

我正试图以交互方式显示django中matplotlib的图。从这个answer,我看到我可以使用以下代码从视图发送图:

response = HttpResponse(mimetype="image/png")
# create your image as usual, e.g. pylab.plot(...)
pylab.savefig(response, format="png")
return response

因此视图将图形作为Httpresponse发送,但如何在模板的html代码中引用该图?我猜它会是这样的,但我很难找到HTML代码的例子:

<img src={ some reference to the plot here }>

同样,我认为我可以使用视图生成绘图,但不确定如何在html模板中引用该输出。

1 个答案:

答案 0 :(得分:1)

视图由URL提供。此视图仅用于提供图像内容,因此您只需将其URL用作img标记中的src即可。例如:

urlpatterns = [
    path('path/to/my/image', views.my_image, 'my_image')
]

...

def my_image(request, ...):
    response = HttpResponse(mimetype="image/png")
    # create your image as usual, e.g. pylab.plot(...)
    pylab.savefig(response, format="png")
    return response

...

<img src="{% url "my_image" %}">