有没有一种方法可以使用字典中的值来搜索另一本?

时间:2019-07-17 13:17:51

标签: python django dictionary

我设置了一个Django视图,在该视图中,我根据给定词典中的存储卡生成了一些存储卡。这些卡中的每张将根据其身份包含不同的信息,该信息是静态的并存储在本地。我具有主要词典设置的方式使我可以遍历所有卡,但无法弄清楚如何获取卡的个人数据。

也许愚蠢地试图使用字典中的值遍历另一个字典。可能我的字典结构是我的阻止者,但我无法提出其他任何方式。

views.py

位置-> URL变量

卡->从数据库中提取数据

vlans->从本地json文件中提取数据

def home_view(request, location):
    cards = Site.objects.get(sites=location.upper()).site_cards.all().values('cards')
    cards_dict = {c: c for c in [d['cards'] for d in list(cards)]}
    vlans = json.load(open('allvendors/static/json/vlans.json'))
    selected_site_vlans = vlans[location]
    home = {
        "site": location,
        "cards": cards_dict,
        "vlans": selected_site_vlans
    }
    return render(request, 'allvendors/home.html', {"home": home})

home.html

home.vlans。 卡片 .vlan->愚蠢地尝试使用一个字典中的另一个字典中的密钥。请参见下面传递给模板的数据结构。

{% for card in home.cards %}
        <div class="card mb-4 box-shadow shadow">
            <div class="card-header">
                <h4 id="whatfor" class="my-0 font-weight-normal">{{ card|title }}</h4>
            </div>
            <div class="card-body">
                <h1 class="card-title pricing-card-title">Vlan:
                    <small class="text-muted">
                        <a href="#" target="_blank">
                            {{ home.vlans.card.vlan }}
                        </a>
                    </small>
                </h1>
                <a class="text-decoration-none" href="{{ card|lower }}/">
                    <button id="seedata" type="button" class="btn btn-lg btn-block btn-outline-primary">See
                        Database</button>
                </a>
            </div>
        </div>
{% endfor %}

{
   'site':'A',
   'cards':{
      'networkA':'networkA',
      'networkB':'networkB'
   },
   'vlans':{
      'networkA':{
         'vlan':'101',
      },
      'networkB':{
         'vlan':'102',
      }
}

每张卡都应显示与其对应的VLAN,因此称为networkA的卡应在vlans.networkA.vlan下的值内显示,但我无法提出解决方法。欢迎任何帮助:)

1 个答案:

答案 0 :(得分:1)

解释太复杂了,不确定我是否理解,但是尝试一下:

&

还有模板中的define a = to_char(SYSDATE, 'yyyy')|| to_char(SYSDATE, 'mm') from dual; SELECT &a; output: a = 201907