回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>这是我的视图.py公司名称:</p>
<pre><code>from django.shortcuts import render_to_response
from django.template import RequestContext
import subprocess
globalsource=0
def upload_file(request):
'''This function produces the form which allows user to input session_name, their remote host name, username
and password of the server. User can either save, load or cancel the form. Load will execute couple Linux commands
that will list the files in their remote host and server.'''
if request.method == 'POST':
# session_name = request.POST['session']
url = request.POST['hostname']
username = request.POST['username']
password = request.POST['password']
globalsource = str(username) + "@" + str(url)
command = subprocess.Popen(['rsync', '--list-only', globalsource],
stdout=subprocess.PIPE,
env={'RSYNC_PASSWORD': password}).communicate()[0]
result1 = subprocess.Popen(['ls', '/home/'], stdout=subprocess.PIPE).communicate()[0]
result = ''.join(result1)
return render_to_response('thanks.html', {'res':result, 'res1':command}, context_instance=RequestContext(request))
else:
pass
return render_to_response('form.html', {'form': 'form'}, context_instance=RequestContext(request))
##export PATH=$RSYNC_PASSWORD:/usr/bin/rsync
def sync(request):
"""Sync the files into the server with the progress bar"""
finalresult = subprocess.Popen(['rsync', '-zvr', '--progress', globalsource, '/home/zurelsoft/R'], stdout=subprocess.PIPE).communicate()[0]
return render_to_response('synced.html', {'sync':finalresult}, context_instance=RequestContext(request))
</code></pre>
<p>问题出在sync()视图中。upload_文件中的全局变量值未被获取,但globalvariable=0在sync视图中被获取。我做错什么了?在</p>
<p><strong>编辑:</strong>
试着这样做:</p>
^{pr2}$
<p>但是,我得到一个错误:</p>
<pre><code>SyntaxError at /upload_file/
invalid syntax (views.py, line 17)
Request Method: GET
Request URL: http://127.0.0.1:8000/upload_file/
Django Version: 1.4.1
Exception Type: SyntaxError
Exception Value:
invalid syntax (views.py, line 17)
</code></pre>