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?
答案 0 :(得分:0)
您有两个错误。首先,变量总是用{{ ... }}
来表示,而不是用{% ... %}
来表示。其次,Django模板中的所有查找(包括字典)都是通过点表示法而不是方括号来完成的。
所以:
<a href= "https://www.dotabuff.com/matches/"> {{ entry.match_id }} </a>