Django:在模板中嵌入图像
我需要一个图像显示在我的网页。图像存储在views.py中的变量中 大多数解决方案(如下面的解决方案)使用HttpResponse输出图像,但我希望图像嵌入到我的html模板中Django:在模板中嵌入图像,django,django-templates,django-views,Django,Django Templates,Django Views,我需要一个图像显示在我的网页。图像存储在views.py中的变量中 大多数解决方案(如下面的解决方案)使用HttpResponse输出图像,但我希望图像嵌入到我的html模板中 from django.http import HttpResponse def my_image(request): image_data = open("/path/to/my/image.png", "rb").read() 另外,我通过使用matplotlib创建图像来获取图像。所以我不能使用静态文件
from django.http import HttpResponse
def my_image(request):
image_data = open("/path/to/my/image.png", "rb").read()
另外,我通过使用matplotlib创建图像来获取图像。所以我不能使用静态文件夹。下面给出的示例代码(学分:)
将图像保存在媒体目录中,然后使用ajax更新div 差不多
def get_image(request):
"""
This is an example script from the Matplotlib website, just to show
a working sample >>>
"""
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = np.pi * (15 * np.random.rand(N))**2 # 0 to 15 point radiuses
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
filepath = os.path.join(settings.MEDIA_PATH,'/name_of_the_file.png')
plt.savefig(filepath, facecolor=(0.95,0.95,0.95))
plt.clf()
return HttpResponse(filepath)
然后转到带有ajax请求的函数
$.ajax({ type: "POST",
url: 'THE URL TO THE FUNCTION',
data: {
csrfmiddlewaretoken: $('[name="csrfmiddlewaretoken"]').val(),
},
success: function(response){
$('#your_div_id').html("<img src=\""+responce+"\"></img>")
}
});
$.ajax({type:“POST”,
url:“函数的url”,
数据:{
csrfmiddlewaretoken:$('[name=“csrfmiddlewaretoken”]')。val(),
},
成功:功能(响应){
$('#您的_div_id').html(“”)
}
});
尚未找到解决方案。相反,我使用将这个页面(用HttpResponse返回)嵌入到另一个html页面中。
$.ajax({ type: "POST",
url: 'THE URL TO THE FUNCTION',
data: {
csrfmiddlewaretoken: $('[name="csrfmiddlewaretoken"]').val(),
},
success: function(response){
$('#your_div_id').html("<img src=\""+responce+"\"></img>")
}
});