Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在django模板中嵌入生成的img_Django_Django Templates - Fatal编程技术网

在django模板中嵌入生成的img

在django模板中嵌入生成的img,django,django-templates,Django,Django Templates,如何将生成的图像嵌入django模板中 差不多 return render_to_response('graph.html', { 'img': get_graph() }) 我不想要这个-因为它只是发送图像 http.HttpResponse(get_graph(), mimetype="image/png") 您可以对图像数据进行base64编码并使用。您可以将URL映射到其中一个视图函数,该函数返回带有图像数据的HttpResponse,并将此URL用作我想在django页面中嵌入生成的m

如何将生成的图像嵌入django模板中

差不多

return render_to_response('graph.html', { 'img': get_graph() })
我不想要这个-因为它只是发送图像

http.HttpResponse(get_graph(), mimetype="image/png")

您可以对图像数据进行base64编码并使用。

您可以将URL映射到其中一个视图函数,该函数返回带有图像数据的HttpResponse,并将此URL用作
我想在django页面中嵌入生成的matplotlib映像,而不必两次访问django服务器(一次获取模板,一次生成映像)。我将以下内容放在我的图像模板中

from django.conf.urls.defaults import *

urlpatterns = patterns('',
    (r'^image/', 'views.get_image'),
)

唯一的问题是,它在IE7或IE8中不起作用——它在IE9和更新版本中起作用,当然还有所有基于标准的web浏览器

你找到解决这个问题的好方法了吗?
from django.http import HttpResponse

def get_image(request):
    image_data = get_graph() # assuming this returns PNG data
    return HttpResponse(image_data, mimetype="image/png")
<img src="image"/>
<img alt="embedded" src="data:image/png;base64,{{inline_png}}"/>
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
import cStringIO as StringIO
import base64

num_signed_off = random.randint(0, 10)
num_reviewed = random.randint(0, 50)
num_unreviewed = random.randint(0, 50)

fig = Figure()
ax = fig.add_subplot(111, aspect='equal', axis_bgcolor='b')
ax.pie([num_signed_off, num_reviewed, num_unreviewed],
        labels=['Signed Off', 'Reviewed', 'Unreviewed'],
        colors=['b', 'r', 'g'],
        )
ax.set_title('My Overall Stats')
ax.set_axis_bgcolor('r')
canvas=FigureCanvas(fig)
outstr = StringIO.StringIO()
canvas.print_png(outstr)
ret['inline_png'] = base64.b64encode(outstr.getvalue())
outstr.close()

return render(request, "my_view.html", ret)