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

标签 python django dictionary

我有一个返回字典的 View 。我搜索了一下,发现:Django template how to look up a dictionary value with a variable

这是我的观点的返回语句:

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

关于python - Django 模板中的字典 - 过滤器使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32467127/

相关文章:

python - 分配给变量时,多余的空白字符会无缘无故地被删除

Django Haystack ElasticSearch Python3

.net - .NET字典,速度惊人,但它是如何工作的?

python - groupby中的pandas聚合函数-默认选项?

java - 在 App Engine 上使用 Java 中的 Python 代码

django - 实现 djangorestframework-simplejwt 无密码 token 认证

python - 如何将 SteamAPI 与 Django 一起使用?

javascript - 如何清除Azure Map的绘制形状

python - 从字符串创建字典

python - 选择 pandas 中的分箱值