如何在Django,Python中异步显示图像?

时间:2015-12-12 22:27:40

标签: python django image asynchronous

我正在尝试找到一种方法,我可以在后台生成图像并在前端显示图像,因为它们是异步生成的,无需等待图像生成完成,因为它创建了大量的图像和我不希望浏览器等到生成所有图像的时间。你能告诉我如何在前端和后端做到这一点吗?这样做的正确方法是什么?

图像标记为0.png,1.png。每次生成的图像数量不同。我最初不知道将生成的图像数量。图像保存在静态文件夹中。现在我已经在我的index.html模板中了。

{% load staticfiles %}
   {% for plot in plots%}
      {% with plot|add:".png" as image_static %}
          <ul class="myList"><li><img src="{% static image_static %}" alt="My image"/></li></ul>
      {% endwith %}
   {% endfor %}

我的views.py如下所示

if request.method == 'POST':
    count=Genplots.main() # main function to generate images
    p=list(range(count)) #number of images
    p=map(str,p)
    return render_to_response("plots/index.html", { 'plots':p})

问题是,在前端显示之前,等待生成所有图像。请帮忙。

1 个答案:

答案 0 :(得分:0)

你不能。这些模板在服务器上呈现,因此当您的浏览器收到HTML时,它已经有订单加载图像。

您需要使用JavaScript完成此操作 - 例如lazyload