如何从HTML模板中的此词典中获取值?

时间:2019-05-24 17:25:35

标签: python html django

def playerData(request, player_id):
    r = requests.get("https://api.opendota.com/api/players/" + str(player_id) +"/matches/?limit=20")
    last20matches = json.loads(r.text)

    return render (request, "playerstats.jinja", {'last20' : last20matches,'playerid' : player_id})


{% for entry in last20 %}
    <li>

        <a href= "https://www.dotabuff.com/matches/"> {% entry["match_id"] %}  </a>

    </li>
{% endfor %}

所以在我的playerData函数中,我得到一名球员最近20场比赛并将其设置为r。

last20matches是20个词典的列表。

现在到模板。 我正在浏览每本字典(每本字典都是一个match),我想创建一个指向页面(https://www.dotabuff.com/matches/match_id)的链接。

但是,match_id在字典中,键为match_id。如何将其放入html文件的链接中?

错误:

Invalid block tag on line 20: 'entry["match_id"]', expected 'empty' or 'endfor'. Did you forget to register or load this tag?

1 个答案:

答案 0 :(得分:0)

您有两个错误。首先,变量总是用{{ ... }}来表示,而不是用{% ... %}来表示。其次,Django模板中的所有查找(包括字典)都是通过点表示法而不是方括号来完成的。

所以:

<a href= "https://www.dotabuff.com/matches/"> {{ entry.match_id }}  </a>