0

我是 Python 和 Django 的新手,我需要列出我所有的虚拟机。我使用了 pyvmomi 和 Django,但我无法从 VSphere 获取文件夹名称,它显示了一条奇怪的线。

VMware 列表

'vim.Folder:group-v207'

'vim.Folder:group-v3177'

'vim.Folder:group-v188'

我在 vSphere 上有 3 个文件夹,所以我认为我的连接很好,但这绝对不是他们的名字。

这是我的代码:

视图.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})

主页.html

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

任何人都可以帮我获取我的文件夹的真实姓名吗?

4

1 回答 1

2

您需要明确说明您想要的名称,如下所示:

vmFolders = datacenter.vmFolder.childEntity
for folder in vmFolders:
    print(folder.name)
于 2016-09-28T16:05:19.713 回答