2012-02-29 6 views
0

私はユーザーに表示するいくつかの統計グラフを持つDjangoアプリケーションを持っています。 これらのグラフのエクスポートオプションもあります。 [エクスポート]ボタンをクリックすると、サーバー上でcsvを作成してクライアントに返すので、ファイルがすぐにダウンロードされます。 それはすべて素晴らしいですが、csvを作成するには時間がかかります。ファイルがダウンロードされるまで、いくつかの "Wait ..." gifを表示したいと思います。それを行う最善の方法は何ですか? (私は一時ファイルのリンクを作成し、Ajaxのレスポンスを取得した後、そのリンクに行きたくありません。) 私のDjangoのビューを返します:エクスポート時にgifを待機します

response = HttpResponse(open("statistics.tar.gz").read(), content_type='application/tar.gz') 
response['Content-Disposition'] = 'attachment; filename=statistics_%s.tar.gz' % str(get_customer_date(request.customer, datetime.utcnow())).split(" ")[0] 
response['Content-Length'] = os.path.getsize("statistics.tar.gz") 
response.set_cookie("export_download", value='download') 
return response 

答えて

0

私はリンクのターゲットであることを目に見えないのiframeを作成します。そしてそのリンクをクリックし、gifを表示してください。応答のための

$("a#download-link").click(function(){ 
    $("#loading-div").show(); 
    $("body).append('<iframe id="myIframeId" ...>'); 
    $('iframe#myIframeId').attr('src', url); 
    $('iframe#myIframeId').load(function() { $("#loading-div").hide(); }); 
}); 
+0

ありがとう:IFRAMEの読み込みが停止したときに:)このような

何か(テストしていないが、理論的には動作するはずないし)、それを隠します。あなたは正確に何を意味するのか説明できますか? (いくつかのコード例を表示するか、それについて読むためのリンクを教えてください) – alexarsh

+0

私の回答を更新しました –

+0

ありがとう、Alex – alexarsh

関連する問題