在 Django 模板中打印字典值

lak*_*esh 8 django

我将两个名为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)


lak*_*esh 3

是这样解决的:

{% 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)