以下のこの変数は、処理を変数名procに格納します。
proc = subprocess.Popen(['sshpass', '-p', password, 'rsync', '-avz', '--info=progress2', source12, destination],
stderr=subprocess.PIPE, stdout=subprocess.PIPE).communicate()[0]
私は Django テンプレートのフォームです。ユーザーが送信ボタンを押すたびに、変数 proc を使用して処理を表示したいと考えています。次のように、Django テンプレート Javascript で変数 proc を使用してみました。
function popUp() {
var a = "{{proc}}"
document.write(a)
}
</script>
しかし、空のページしか表示されません。私は変数をhtml bodyタグ内で直接呼び出すことをテストしましたが、それは正常に動作しますが、javascriptでは動作しません。私が間違っていることは何ですか?
次のように、Django テンプレートで次のようにpopUp関数を呼び出しています。
<form name="form1" action="/sync/" method="post" onsubmit="popUp()">
そして、次のように Django テンプレートで変数procを渡しています。
return render_to_response('synced.html', {'final_result':final_list}, context_instance=RequestContext(request))
return render_to_response('thanks.html', {'proc':proc}, context_instance=RequestContext(request))
編集: チェックのために、変数をthanks.htmlに渡す代わりに、変数procをsynced.htmlに渡し、次のようにテンプレートで使用しました:
<th>Files in the server:</th>
</tr>
<td>{{ proc }}</td>
<tr>
私の出力は次のとおりです。
receiving incremental file list 0 0% 0.00kB/s 0:00:00 (xfr#0, to-chk=0/1) sent 20 bytes received 56 bytes 6.08 bytes/sec total size is 8,640 speedup is 113.68