Python中文
首页
教程
问答
标签
搜索
登录
注册
访问python字典上的值时遇到问题,这些值在Django temp中也是字典
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>传递给模板的字典不会产生任何值。你知道吗</p> <p>我尝试过各种访问字典值的方法,甚至自定义过滤器,但都没有成功。你知道吗</p> <h2>你知道吗视图.py你知道吗</h2> <pre><code>def home_view(request, location): cards = Site.objects.get(sites=location.upper() ).site_cards.all().values('cards') vlans = json.load(open('allvendors/static/json/vlan.json')) vlans_location = vlans[location] home = { "site": location, "cards": cards, "vlans": vlans_location, } return render(request, 'allvendors/home.html', {"home": home}) </code></pre> <h2>所有供应商_过滤器.py你知道吗</h2> <pre><code>from django import template register = template.Library() @register.filter(name='lookup') def lookup(dictionary, key): return dictionary[key] </code></pre> <h2>卡片</h2> <pre><code><QuerySet [{'cards': 'A'}, {'cards': 'B'}, {'cards': 'C'}, {'cards': 'D'}]> </code></pre> <h2>VLAN\u位置</h2> <pre><code>{ 'A':{ 'vlan':'101' }, 'B':{ 'vlan':'102' }, 'C':{ 'vlan':'103' }, 'D':{ 'vlan':'104' } } </code></pre> <h2>你知道吗主页.html你知道吗</h2> <pre><code>{% load allvendors_filters %} {% 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|lookup:card.cards }} </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 %} </code></pre> <p>问题本身就是{{card}},循环为每个卡1到3创建一个div,但是{{卡.vlan}}不会输出任何内容。你知道吗</p> <p>我觉得我访问它的错误,但我不知道为什么或如何。你知道吗</p> <p>欢迎任何指点。你知道吗</p> <h2>编辑</h2> <p>尝试重新考虑一下,使用了一个自定义过滤器:{主页.vlan|查找:card.cards}}为对应卡的值获取字典,字典本身是用html编写的:</p> <pre><code> {'vlan': '101'} written in Card A {'vlan': '102'} written in Card B ...and so on </code></pre> <p>但如果尝试访问vlan,则会失败,并返回{主页.vlan|查找:card.cards.vlan}}-->;在“A”中查找键[vlan]失败</p> <h2>解决方案</h2> <p>在下面选定的答案中。你知道吗</p> <p>谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>这里有一个简单的答案,我认为你的<code>for card in home.cards</code>是在迭代dict键,如果你也想得到这个键,就用<code>for card in home.cards.values</code>或<code>for card_key, card_dict in home.cards.items</code>试试。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
7 回答
无法使用Django\u mssql\u后端迁移到外部hos
2 回答
无法使用Django&Python3.4连接到MySql
3 回答
无法使用Django+nginx上载媒体文件
10 回答
无法使用Django1.6导入名称模式
2 回答
无法使用Django1.7和mongodb登录管理站点
2 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
7 回答
无法使用Djangockedi验证CBV中的字段
1 回答
无法使用Djangocketditor上载图像(错误400)
10 回答
无法使用Djangocron进行函数调用
10 回答
无法使用Djangofiler djang上载文件
8 回答
无法使用Djangokronos
3 回答
无法使用Djangomssql provid
8 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
10 回答
无法使用Djangomssq迁移Django数据库
8 回答
无法使用Djangonox创建用户
3 回答
无法使用Djangopyodb从Django查询SQL Server
6 回答
无法使用Djangopython3ldap连接到ldap
6 回答
无法使用Djangoredis连接到redis
9 回答
无法使用Django中的FK创建新表
9 回答