制作的图像不以html显示

时间:2017-10-19 12:33:51

标签: python html django

制作的图片未在html中显示。 我在views.py中写道

@login_required
def view_plot(request):
    left = np.array([1, 2, 3, 4, 5])
    height = np.array([100, 200, 300, 400, 500])
    plt.bar(left, height)
    filename = "output.png"
    save_fig=plt.savefig(filename)
    response = HttpResponse(content_type="image/png")
    save_fig.save(response, "PNG")
    return save_fig

in html

  <body>
    <img src='/accounts/view_plot' width=300 height=300>
  </body>
在urls.py中

urlpatterns = [
    url(r'^view_plot$', views.view_plot,name='view_plot'),
]

但现在,网页就像 enter image description here

显示破裂的图像。

我不知道为什么会发生这种错误。 在Django app中,保存output.png。 我怀疑图像不是在view_plot中制作的。但我不知道是否。 我的代码有什么问题?我应该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

确保您拥有STATIC_URL:&#39; / static /&#39;在settings.py中设置。那么像图像这样的静态文件应该在

-MyProject
--Static
---css
---js
---img
----all images

然后在你的html模板中。

{% load static %}
<body>
<img src="{% static "my_app/example.jpg" %}" alt="My image"/>
</body> 

检查Django documentation是否有静态文件信息。