我有一个观点,返回一个字典。我四处搜索,发现: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] 删除。
我来说两句