2016-09-26 174 views
0

我是Python和Django的新手,我需要列出所有的虛擬機。 我使用了pyvmomi和Django,但是我無法從VSphere獲取文件夾名稱,它顯示了一條奇怪的行。Pyvmomi獲取文件夾名稱

VMware的列表

'vim.Folder:組-V207'

'vim.Folder:基v3177'

'vim.Folder:組-V188'

我在vSphere上有3個文件夾,所以我認爲我的連接很好,但這絕對不是他們的名字。

這裏是我的代碼:

views.py

from __future__ import print_function 
from django.shortcuts import render 
from pyVim.connect import SmartConnect, Disconnect 
import ssl 

def home(request): 
    s = ssl.SSLContext(ssl.PROTOCOL_TLSv1) 
    s.verify_mode = ssl.CERT_NONE 
    try: 
     connect = SmartConnect(...) 
    except: 
     connect = SmartConnect(...) 
    datacenter = connect.content.rootFolder.childEntity[0] 
    vmsFolders = datacenter.vmFolder.childEntity 
    Disconnect(connect) 
    return render(request, 'vmware/home.html', {'vmsFolders':vmsFolders}) 

home.html的

<h1>VMware list</h1> 
{% for vmFolder in vmsFolders %} 
<div> 
    <h3>{{ vmFolder }}</h3> 
</div> 
{% endfor %} 

任何人可以幫助我讓我的文件夾的真實姓名?

回答

2

你需要你想要的名字,像這樣特別聲明:

vmFolders = datacenter.vmFolder.childEntity 
for folder in vmFolders: 
    print(folder.name)