Django模板中的字典-过滤器用法

纳乔·米格尔(NachoMiguel)

我有一个观点,返回一个字典。我四处搜索,发现:Django模板如何使用变量查找字典值

这是我认为的return语句:

return render(request, 'App/index.html', context={'talks': word_count})

我是django的新人,所以我认为这就是为什么我没有注意到这里的错误。提到的问题的答案是这个,创建一个过滤器并将其加载到模板中,好的,这是过滤器:

from django.template.defaulttags import register

@register.filter
def get_item(dictionary, key):
    return dictionary.get(key)

这是我以错误的方式使用它的地方:

<ul>
    {% for talk in talks %}
        <li>{{  talks|get_item:talk.count  }}</li>
    {% endfor %}
</ul>

这是我的字典:

{' - Nacho:': 1211, ' - Pato:': 1950, ' - Nicolas:': 1871, '}

我创建它的方式是这样的:

lista = {}
for line in lines:
            if user in line:
                count += 1
lista[user] = count

就那么简单。我遇到的错误是这样的:

All the elements appear like this:

. None
. None
. None

不知道确切地如何使用过滤器使解决这个问题变得困难,也许有人对Django有更多的经验可以为我指明正确的方向

任何帮助将不胜感激

丹尼尔·罗斯曼

您的词典项目没有count属性。

但我不知道您为什么认为您完全需要此过滤器。您拥有一个简单的字典,而不是一个复杂的嵌套数据结构。如果只需要每个元素的键(名称)和值(计数),请使用进行迭代items

{% for name, count in talks.items() %}
    <li>{{ name }} - {{ count }}</li>
{% endfor %}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章