我的Django应用程序有以下Jinja代码:
<ul>
{% for key, value in course_avrg.items %}
<li>
<a href="{% url 'course-detail' pk=course_ids[key] %}">{{ key }}:</a> {{ value }}
</li>
{% endfor %}
</ul>
course_ids
是具有关键字course name
(str(和值course id
(int(的字典。
course_avrg
是另一个具有关键字course name
(str(和值course average
(int(的字典
在上面的代码中,我试图通过将课程名称"key"
传递到course_ids
字典中来获得每个课程的主键值(int(。
然而,我得到以下错误:
无法解析来自'course_ids[key]'的余数:'[key]]
那么我应该如何从Jinja URL标记中访问字典值?
您可以编写自定义模板过滤器:
@register.filter
def getvalue(dict, key):
return dict[key]
并在模板中使用它,如下所示:
<a href="{% url 'course-detail' pk=course_ids|getvalue:key %}">{{ key }}:</a> {{ value }}