我将两个名为student_ids和 的字典传递rows给一个 Django 模板。字典student_ids有一个名为student_idand的键invite_id,我想打印出来student_ids[student_id]以获取invite_id.
行字典中行中的第 4 个元素与student_id. 当我尝试下面的代码时,它不起作用......
Django 模板:
{% for row in rows %}
<a href="#invite"
data-invite="{{ invite_ids.row.4 }}">
{{ row.2 }}
</a>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能在 Django 模板中获取正确的数据?我本质上需要student.ids[row[4]]被打印出来,并且为了它变得简单......
小智 7
字典
student_ids有一个名为student_idand的键invite_id,我想打印出来student_ids[student_id]以获取invite_id.
尝试这个:
{% for sid, iid in student.ids.items %}
{{ sid }} -- {{ iid }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
顺便说一句:由于那个点,您的字典名称很奇怪且令人困惑。我会把它改成studentIds什么的......
根据您的编辑更新:
首先检查这个:https : //docs.djangoproject.com/en/dev/ref/templates/builtins/#for
我真的不明白你到底在追求什么,但是如果你想根据一个等于 a 的键访问行字典中的一个值,student_id你可以试试这个,看看它是如何为你工作的,并根据你的需要进行调整:
{% for student_id, student_id_value in student.ids.items %}
{{ student_id }}
{{ rows.student_id }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
是这样解决的:
{% for t_id, i_id in teacher_invite_ids.items %}
{% if t_id == row.4 %}
{{ i_id }}
{% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)