下面的这个变量将处理存储在变量名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