2017-10-19 32 views
0

作成されたイメージはHTMLで表示されません。 私はurls.py作成されたイメージはHTMLで表示されません

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

にHTML

<body> 
    <img src='/accounts/view_plot' width=300 height=300> 
    </body> 

に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 

に書いた。しかし、今、ウェブページは enter image description here

割れたイメージがあるようです表示されます。

このエラーが発生する理由はわかりません。 Djangoアプリでは、output.pngが保存されます。 私は画像がview_plotで作られているのではないかと疑っています。しかし、私はそのことを知ることができません。 私のコードで何が問題になっていますか?これをどのように修正する必要がありますか?

+0

直接的な解決策ではありませんが、画像をベース64の配列として表示したい場合は、画像ファイルが多数あるサーバーを詰まらせる必要はありません。私の質問](https://stackoverflow.com/q/31719138/1324033) – Sayse

答えて

0

あなたのSTATIC_URL: '/ static /'がsettings.pyに設定されていることを確認してください。次に、画像のような静的ファイルは、

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

である必要があります。

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

スタティックファイル情報については、Django documentationを確認してください。

関連する問題