2015-12-12 24 views
3

我試圖找到一種方法,我可以在後臺生成圖像,並在前端顯示圖像,因爲它們是異步生成的,無需等待圖像生成完成,因爲它會創建大量圖像,而我不希望瀏覽器等到所有圖像生成的時候。你能告訴我如何在前端以及後端做到這一點嗎?什麼是正確的方法來做到這一點?如何在Django,Python中異步顯示圖像?

圖像被標記爲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}) 

問題是這樣的等待所有圖像在前端顯示之前begenerated。請幫忙。

+1

只顯示佔位符再經過數生成縮略圖和鏈接到全尺寸圖像DOM準備發送Ajax請求...... – madzohan

+0

嗨@madzohan,它會自動更新一旦圖像生成。你能澄清一下嗎?另外我怎麼知道圖像的數量? –

+0

@sachinsrivastava,你可以發佈'Genplots.main()'? – twil

回答

0

你不行。這些模板在服務器上呈現,所以當瀏覽器接收到HTML時,它已經有命令加載圖像。

你需要用JavaScript來實現這一點 - 像lazyload