Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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:在模板中嵌入图像_Django_Django Templates_Django Views - Fatal编程技术网

Django:在模板中嵌入图像

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创建图像来获取图像。所以我不能使用静态文件

我需要一个图像显示在我的网页。图像存储在views.py中的变量中

大多数解决方案(如下面的解决方案)使用HttpResponse输出图像,但我希望图像嵌入到我的html模板中

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>")
                  }
            });