Python Django使用views.py中的2个dict在模板上迭代
我有以下代码: views.py文件:Python Django使用views.py中的2个dict在模板上迭代,python,django,html,loops,dictionary,Python,Django,Html,Loops,Dictionary,我有以下代码: views.py文件: twittdict = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6} twitlistdict = {'A' : 'a', 'B': 'b', 'C': 'c'} return render(request, 'homepageapp/home.html', {'twittdict' : twittdict, 'twitlistdict' : twitlistdict}) homepa
twittdict = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6}
twitlistdict = {'A' : 'a', 'B': 'b', 'C': 'c'}
return render(request, 'homepageapp/home.html', {'twittdict' : twittdict,
'twitlistdict' : twitlistdict})
homepage.html文件:
{% for user in twitlistdict %}
<a
href="https:*/{{ twittdict.user.3 }}">
<div class="card border-white mb-3">
<p class="card-title"><div class="media">
<img class="mr-3 align-self-center"
src="https://source.unsplash.com/random/90x94">
<div class="media-body">
<h5>{{ twittdict.user.0 }}</h5>
<h6>@{{ twittdict.user.1 }}</h6>
<p></p>
</div>
</div></p>
<img class="card-img-top img-fluid"
src="https://source.unsplash.com/random/301x200" alt="">
<div class="card-body">
<p class="card-text">{{ twittdict.user.4 }}</p>
<p class="card-text">
<hr>
<i class="fas fa-retweet">{{ twittdict.user.6 }}
</i> <i class="far fa-heart">{{ twittdict.user.5 }}</i> <span class="pl-5">
{{ twittdict.user.2 }}</span>
</p>
</div>
</div>
</div>{% endfor %}
{%用于twitlistdict%中的用户]
{{twitdict.user.0}
@{{twitdict.user.1}}
{{twitdict.user.4}
{{twitdict.user.6}
{{twitdict.user.5}
{{twitdict.user.2}
{%endfor%}
当我使用浏览器预览页面时,不会显示循环项(例如:twittdict.user.2对应值),而不会显示任何内容。空白。
如何使其工作并在页面中显示正确的值?
真的很挣扎。非常感谢您的帮助
提前谢谢。您的
twitlistdict
中的键(例如“A”、“B”)与TwitDict
中的任何键(例如“0”、“1”)都不对应
此外,您无法使用twitdict.user
在模板中获取变量索引,它将尝试获取twitdict['user']
。通过数字键访问只能使用列表,不能使用字典
尝试在python中形成一个字典而不是两个,这将使在模板中使用它更容易。一个有用的方法是使用dict.items()
获取dict项的键和值:
{% for key, value in my_dict.items() %}
{{ key }}: {{ value }}
{% endfor %}
当我输入代码时,我得到了:TemplateSyntaxError at/无法解析twitlistdict.items()中的剩余部分:“()”