Django如何在temp中呈现字典

2024-10-02 10:33:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这本字典

data={
    'user': user.username,
    'punti_capitano': {'nome_capitano':team.capitano.display_name,'lista_punti':point_cap_list},
    'punti_rider2': {'nome_rider2':team.rider_2.display_name,'lista_punti':point_rider2_list},
    'punti_rider3': {'nome_rider3':team.rider_3.display_name,'lista_punti':point_rider3_list},
    'punti_rider4': {'nome_rider4':team.rider_4.display_name,'lista_punti':point_rider4_list},
    'punti_rider5': {'nome_rider5':team.rider_5.display_name,'lista_punti':point_rider5_list},
    'punti_rider6': {'nome_rider6':team.rider_6.display_name,'lista_punti':point_rider6_list},
    'punti_rider7': {'nome_rider7':team.rider_7.display_name,'lista_punti':point_rider7_list},
    'punti_rider8': {'nome_rider8':team.rider_8.display_name,'lista_punti':point_rider8_list},
    'punti_rider9': {'nome_rider9':team.rider_9.display_name,'lista_punti':point_rider9_list},
}

现在我想用所有这些元素创建一个HTML表。我该怎么做?在

我试过这样做:

^{pr2}$

但我想要更自动的


Tags: namedisplayteamlistpointnomelistarider
2条回答

我建议,如果可以的话,你应该以不同的方式组织数据;否则就必须有很多if/else。你认为应该这样做。在

可能是这样的结构,所有类似的项目都被分组在一个列表中:

data = {
    'user': user.username,
    'punti_capitano': {'nome': team.capitano.display_name, 'lista_punti': point_cap_list},
    'punti_rider_list': [
        {'id': 2, 'nome': team.rider_2.display_name, 'lista_punti': point_rider2_list},
        {'id': 3, 'nome': team.rider_3.display_name, 'lista_punti': point_rider3_list},
        {'id': 4, 'nome': team.rider_4.display_name, 'lista_punti': point_rider4_list},
        {'id': 5, 'nome': team.rider_5.display_name, 'lista_punti': point_rider5_list},
        {'id': 6, 'nome': team.rider_6.display_name, 'lista_punti': point_rider6_list},
        {'id': 7, 'nome': team.rider_7.display_name, 'lista_punti': point_rider7_list},
        {'id': 8, 'nome': team.rider_8.display_name, 'lista_punti': point_rider8_list},
        {'id': 9, 'nome': team.rider_9.display_name, 'lista_punti': point_rider9_list},
    ],
}

然后在模板中,您可以使用类似这样的内容来显示常见项:

^{pr2}$

你需要根据你的具体情况调整它,但这应该给你一个大致的方向。在

一旦在模板中调用上下文字典,只需使用django模板语言在字典上循环。在

例如:

<table>
{% for element in data %}
 <tr>
    <td>element.user</td>
  </tr>
{% endfor %}
</table>

相关问题 更多 >

    热门问题