Django将Matlpotlib图像作为变量传递

时间:2018-06-22 18:18:21

标签: python html django matplotlib web-frontend

我正在尝试将Matplotlib图形图像显示为.html中的变量,但未成功。我是Django的新手,所以我们将不胜感激。

当我进入HTML页面时,得到以下图像:

html page

from django.shortcuts import render
import sys
import platform
import datetime as dt
from datetime import timedelta, date
from django.shortcuts import render
from django.http import HttpResponse
from pylab import *
import io

inside views.py

def submit(request):

    x = [1, 2, 3, 4, 5, 6]
    y = [5, 2, 6, 8, 2, 7]
    plot(x, y, linewidth=2)
    xlabel('x-axis')
    ylabel('yaxis')
    title('sample graph')
    grid(True)
    buf = io.BytesIO()
    plt.savefig(buf, format='png')
    plt.close()
    plt_bytes = buf.getvalue()
    buf.close()

    return render(request, 'jobs_app/index.html', {'path': plt_bytes})

内部index.html:

< img src="{{ path }}">

在终端控制台中收到的错误代码是 [22 / Jun / 2018 18:39:04]“ POST / Home / submit HTTP / 1.1” 200 95021 找不到:/ Home / b'/ x89PNG / r / n / x1a / n / x00 / x00 / x00 / rIHDR / x00 / x00 / x02 / x80 /​​ x00 / x00 / x01 / xe0 / x08 / x06 / x00 / x00 / x005 / xd1 / xdc / xe4 / x00 / x00 / x00 / x04sBIT / x08 / x08 / x08 / x08 / x08d / x88 / x00 / x00 / x00 / tpHYs / x00 / x00 / x0fa / x00 / x00 / x00 / x0fa / x01 / xa8

0 个答案:

没有答案