我有这样的代码:
choices = request.POST.getlist('choice')
#choices1 = len(choices)
for i in choices:
new_source = source +"/"+ i
start_date = datetime.datetime.utcnow().replace(tzinfo=utc)
source12 = new_source.replace(' ', '') #Remove whitespaces
subprocess.Popen(['sshpass', '-p', password, 'rsync', '-avz', '--info=progress2', source12, destination],
stderr=subprocess.PIPE, stdout=subprocess.PIPE).communicate()[0]
end_date = datetime.datetime.utcnow().replace(tzinfo=utc)
duration = end_date - start_date
start_date = start_date.strftime("%B %d, %Y, %H:%M%p")
end_date = end_date.strftime("%B %d, %Y, %H:%M%p")
#basename = os.path.basename(source) #Get file_name
extension = os.path.splitext(i)[1][1:] #Get the file_extension
fullname = os.path.join(destination, i) #Get the file_full_size to calculate size
st = int(os.path.getsize(fullname))
f_size = size(st, system=alternative)
dur1 = convert_timedelta(duration)
dur = duration_conversion(dur1)
b = File(users_id=request.user.id, file_name=i, type=extension, source='ngs.pradhi.com', start_date=start_date, end_date=end_date, duration=dur, size_overview=st, size=f_size, flag='F')
b.save()
return render_to_response('uploaded_files.html', {'files': b, 'username':username, 'host':a, 'files_server':files_in_server, 'file_size':filesize, 'date':date, 'total_files_selected':i , 'list_users':users_b}, context_instance=RequestContext(request))
我想找到选择列表的长度以便显示给用户。首先,我尝试将变量传递为:
choices = request.POST.getlist('choice')
choices1 = len(choices)
当用户选择了多个文件时,将choices1 变量传递给模板仅返回0。因此,我尝试传递产生此错误的变量 i:
UnboundLocalError at /uploaded_files/ local variable 'i' referenced before assignment?
我究竟做错了什么?