我有一个看起来像这样的json

{
        "values": {
            "a": 1,
            "b": 2,
            "c": 3,
            "d": 4
        },
    "sales-year": [
        { "a": 0, "b": 0, "c": 0, "d": 0, "e": "karl" },
        { "a": 0, "b": 0, "c": 0, "d": 0, "e": "karl" },
        { "a": 4, "b": 10, "c": 20, "d": 30, "e": "karl" },
        { "a": 0, "b": 0, "c": 0, "d": 0, "e": "karl" }
    ]
}


然后将它与django一起通过get_context_data传递到我的“ index.html”。进一步说明here

我可以使用{{my_json.values.a}}轻松访问值,但是访问sales-year数组时遇到问题。我怎么做?我尝试了以下方法,但没有一个起作用:

{{my_json['sales-this'].2.a}}
{{my_json.['sales-this'].2.a}}
{{my_json.[sales-this].2.a}}
{{my_json[sales-this].2.a}}

最佳答案

您需要创建一个自定义模板过滤器来处理此问题

首先创建一个自定义模板过滤器,如下所示:

from django import template
register = template.Library()

@register.filter
def getItem(dict, key):
    return dict.get(key)


模板中的下一个如下所示:

{{my_json|getItem:'sales-year'}}


了解有关如何使用/创建自定义过滤器的更多信息here

关于python - 如何从Django上下文中读取HTML中的破折号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34051195/

10-09 16:00
查看更多