在django模板中使用复杂变量

时间:2011-02-23 12:54:03

标签: django templates dictionary

在下面的模板中,user.group是一个数字,必须显示为 group_name.get(user.group)是否有能力传递给模板 group_name dict并在模板中使用 group_name.get(user.group)

<table>
{% for user in users %}
<tr>    
    <td>{{ user.name }}</td>
    <td>{{ user.age }}</td>
    <td>{{ user.group}}</td>
</tr> 
{% endfor %}
</table>

2 个答案:

答案 0 :(得分:0)

本着django的精神,这个逻辑应该存在于代码中,而不是模板中。你不能添加一个返回该组的方法user.get_group()吗?

答案 1 :(得分:0)

不,点表示法不允许按变量值查找名称。

我会在视图中执行此操作,如果它特定于此模板。

for user in users:
    users.group_name = group_name.get(user.group)


{% for user in users %}
    {{ user.group_name }}
{% endfor %}

如果它适用于所有用户,请执行jammon建议并在User上定义方法

出于好奇,我能看到你的模特吗?只是好奇为什么群组是一个数字,group_name来自哪里。