我是Python和Django的新手,我需要列出我的所有虚拟机。 我使用了pyvmomi和Django,但是我无法从VSphere获取文件夹名称,它显示了一个奇怪的行。
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 %}
有人可以帮助我获取文件夹的真实姓名吗?
答案 0 :(得分:2)
您需要明确说明您想要的名称,如下所示:
vmFolders = datacenter.vmFolder.childEntity
for folder in vmFolders:
print(folder.name)