django模板获取字典项

Posted

技术标签:

【中文标题】django模板获取字典项【英文标题】:django template get dictionary item 【发布时间】:2014-01-23 22:47:27 【问题描述】:

我尝试在我的 django 模板中使用字典,但我不知道应该如何访问字典的不同值。

我的看法:

def index(request):
    towns = Town.objects.filter(user=request.user)

    resources = []
    for town in towns:
        resources.append([town, view_resources(town)])

    print resources

    return render(request, 'index.html', 'resources': resources)

我的 view_resources 返回一个像这样的字典:

'coin': coin, 'grain': grain, 'iron': iron, 'stone': stone, 'wood': wood,

我的打印结果如下:

[[<Town: admin's Town>, 'wood': 200, 'stone': 203, 'coin': 176, 'grain': 303, 'iron': 203]]

现在是我的模板:

<div>
    <table>
    % for town, resource in resources %
        <tr>
            <td>
                <h3> town.name </h3>
            </td>
        </tr>
        <tr>
            <td>
                 resources.wood 
            </td>
        </tr>
    % endfor %
    </table>
</div>

如何访问“木材”值?

【问题讨论】:

【参考方案1】:

在您的代码中,resource 是每个元组内的字典,而不是 resources

 resource.wood 

【讨论】:

非常感谢。哈哈错过了一个该死的错字:) 被困了一段时间哈哈

以上是关于django模板获取字典项的主要内容,如果未能解决你的问题,请参考以下文章

模板中的 Django 字典:从另一个对象属性中获取键

如何在 Django 模板中获取字典键和值?

Django模板按索引获取字典列表中的元素

Django学习之 - 基础模板语言

在 Django 模板中动态获取列表项

Django 模板渲染