1
我試圖從傳遞給網絡作爲字典的Jinja2通過字典循環用在什麼按鍵控制:值用來
app.py數據在HTML創建一個表:
client = boto3.client('ec2')
vpc_ids = client.describe_vpcs()
for i in vpc_ids.get('Vpcs'):
for tag in i.get('Tags'):
if tag.get('Key') == 'Name':
vpc_list[i.get('VpcId')] = {'CidrBlock': i.get('CidrBlock'),
'Name': tag.get('Value')}
return vpc_list
這returnes字典是這樣的:
vpc_list = {'vpc-1': {'CidrBlock': 'x.x.x.x/16', 'Name': 'a-vpc'},
'vpc-2': {'CidrBlock': 'y.y.y.y/16', 'Name': 'b-vpc'},
'vpc-3': {'CidrBlock': 'z.z.z.z/16', 'Name': 'c-vpc'},
'vpc-4': {'CidrBlock': 'q.q.q.q/16', 'Name': 'd-vpc'}}
我的HTML看起來像這樣:
<div class="container">
{% if vpc_lists is defined %}
{% for vpc, data in vpc_lists.items() %}
<div class="row">
<div class="col-md-1">
<i class="fa fa-camera-retro fa-lg"></i>
</div>
<div class="col-md-3">
{{vpc}}
</div>
{% for key,value in data.items() %}
<div class="col-md-3">
{{value}}
</div>
{% endfor %}
<div class="col-md-2">
<a href="/vpc/{{vpc}}">Link</a>
</div>
</div>
{% endfor %}
{% endif %}
上面的工作...善良,但我想更好地控制如何以及在哪裏我可以使用鍵值,所以而不是盲目循環這個我想能夠獲得基於關鍵的值,像
vpc.get('CidrBlock') or vpc['CidrBlock'] to get the x.x.x.x/16 value.
不知道我是否說得夠清楚。在這裏我找不到這樣的東西。
非常感謝!這比我想象的要容易得多! – mancuss