Python Jinja2通过dict循环,控制使用的键:值
我试图用HTML从作为dict传递到web的数据创建一个表 app.py:Python Jinja2通过dict循环,控制使用的键:值,python,html,flask,jinja2,Python,Html,Flask,Jinja2,我试图用HTML从作为dict传递到web的数据创建一个表 app.py: 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':
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
这返回的dict如下所示:
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'}}
<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 %}
我的HTML如下所示:
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'}}
<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 %}
我不确定我是否说得够清楚。我在这里找不到这样的东西 Jinja支持字典访问语法,您可以使用
{data['CidrBlock']}
和{data['Name']}
访问字典中的特定值。非常感谢!这比我想象的要容易得多!