Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.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
Python 刷新页面上的图像而不使用Django刷新整个页面_Python_Html_Django - Fatal编程技术网

Python 刷新页面上的图像而不使用Django刷新整个页面

Python 刷新页面上的图像而不使用Django刷新整个页面,python,html,django,Python,Html,Django,我正在制作一个接收图像的应用程序 我用一种非常粗糙的方式制作它,这里是HTML: <body onload="javascript:setTimeout('location.reload(true);', 1000);" > <div class="container"> <img class="img0" src="{{ uno }}"/> <img class="img1" src="{{ dos }}"/> <img cla

我正在制作一个接收图像的应用程序

我用一种非常粗糙的方式制作它,这里是HTML:

<body onload="javascript:setTimeout('location.reload(true);', 1000);" >
<div class="container">
  <img class="img0" src="{{ uno }}"/>
  <img class="img1" src="{{ dos }}"/>
  <img class="img2" src="{{ tres }}"/>
</div>
</body>

我相信有更好的方法,但我对Django很陌生,不知道怎么做。在这一点上,页面只是每秒闪烁显示相同的图像,而实际上我只是希望它刷新时,有一个新的图像。有没有一种方法可以始终调用get_newest_pics()并只刷新图像,而不是整个页面?或者仅仅是一种使页面停止闪烁的方法?

这样做的方法是在前端实现ajax,然后每隔一段时间请求新图像,一旦找到新图像,更新显示图像的容器并添加新(可用)图像

请查看以帮助您正确地将前端“连接”到django

按照编写代码的方式,所有三个图像都会立即发送到页面,而javascript片段实际上只是非常快速地刷新页面,这就是为什么会看到闪烁效果

您可以进行一次“黑客”操作,在django中为每个图像创建一个单独的视图,然后使用javascript在一段时间间隔内调用每个视图——最终结果相同,但在代码方面效率非常低

def main(request):
  x = get_newest_pics()

  uno = x[-1]
  dos = x[-2]
  tres = x[-3]

  context = { 'uno' : uno, 'dos' : dos, 'tres' : tres }

  return render(request, 'index.html', context)