Django使用views.py中的2个dict在模板上迭代

2024-04-29 01:34:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

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})

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 %}

当我使用浏览器预览页面时,不会显示循环项(例如:twittdict.user.2对应值),而不会显示任何内容。空白。 如何使其工作并在页面中显示正确的值? 真的很挣扎。非常感谢您的帮助 先谢谢你


Tags: 文件httpsdivsrccomsourceimghtml
1条回答
网友
1楼 · 发布于 2024-04-29 01:34:09

您的twitlistdict(例如“A”、“B”)中的键与twittdict(例如“0”、“1”)中的任何键都不对应

另外,您不能使用twittdict.user在模板中获取变量索引,它将尝试获取twittdict['user']。通过数字键访问只能使用列表,不能使用字典

尝试在python中形成一个字典而不是两个,这将使在模板中使用它更容易。一个有用的方法可能是使用dict.items()获取dict项的键和值:

{% for key, value in my_dict.items() %} 
  {{ key }}: {{ value }} 
{% endfor %}

相关问题 更多 >