首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jinja2循环遍历dict,并控制使用了什么键:值

Jinja2循环遍历dict,并控制使用了什么键:值
EN

Stack Overflow用户
提问于 2017-03-29 20:51:50
回答 1查看 4.1K关注 0票数 2

我正在尝试用HTML创建一个表,该表是从作为dict传递到web的数据中创建的

app.py:

代码语言:javascript
复制
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

这个退货是这样的:

代码语言:javascript
复制
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看起来如下:

代码语言:javascript
复制
<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 %}

上面的作品..。好样的,但我希望更好地控制如何和在哪里使用键值,因此,我不想盲目地遍历这个值,而是希望能够根据键得到一个值,类似于

代码语言:javascript
复制
vpc.get('CidrBlock') or vpc['CidrBlock'] to get the x.x.x.x/16 value.

不知道我是不是说得够清楚。我在这里找不到这样的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-29 21:59:31

Jinja支持字典访问语法,可以使用{{data['CidrBlock']}}{{data['Name']}}访问字典中的特定值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43103934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档