我从数据库中的两个表中获取信息,并将它们放入两个词典列表中。其中一个包含每个服务器的信息,另一个包含每个驱动器的信息。问题是一个服务器有很多驱动器,我试图将它传递给烧瓶,它返回一个服务器信息表和所有驱动器,而不仅仅是匹配的第一个驱动器。
for row in test:
testlist.append({'Server ID': row[0], 'ServerName': row[1], 'Primary Role': row[2], 'Secondary Role': row[3],
'CPU-Name': row[4], 'Operating System': row[5]})
for row in drives:
drivelists.append({'Server ID': row[0], 'Drive Mapping': row[1], 'FreeSpace': row[2], 'TotalSpace': row[3],
'Percentage Used': row[4]})
return render_template('servers.html', basicserverinfo=testlist)
{% for info in basicserverinfo %}
<div class="container">
<div class="panel panel-default">
<h>{{ info['ServerName'] }}</h>
<table class="table table-bordered">
<div class="dl-horizontal">
<dt>Server Name</dt>
<dd> {{ info['ServerName'] }}</dd>
<dt>Primary Role</dt>
<dd> {{ info['Primary Role'] }}</dd>
<dt>Secondary Role</dt>
<dd> {{ info['Secondary Role'] }}</dd>
<dt>CPU</dt>
<dd> {{ info['CPU-Name'] }}</dd>
<dt>Operating System</dt>
<dd> {{ info['Operating System'] }}</dd>
</div>
</table>
<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25"
aria-valuemin="0" aria-valuemax="100">{{ info['Percentage Used'] }}%</div>
</div>
</div>
所以我假设我需要BasicServerInfo / Testlist来包含所有服务器信息以及与服务器ID匹配的所有驱动器
答案 0 :(得分:0)
我主要回复你问题的标题,因为这个问题本身很容易混淆。
从标题:我认为你想要的是在一个具有相同id的dicts列表中查找所有dicts,并获得它们的列表?
假设我是对的,这是你的问题,这应该有所帮助:
>>> dictlist
[{'id': 1, 'value': 'foo'}, {'id': 2, 'value': 'foo'}, {'id': 1, 'value': 'bar'}]
>>> filtered_list = [d for d in dictlist if d['id']==1]
>>> filtered_list
[{'id': 1, 'value': 'foo'}, {'id': 1, 'value': 'bar'}]