Django - 创建表格的最佳方式

时间:2017-03-30 18:19:08

标签: python django django-tables2

我正在按照某种模式显示数据库中的数据。

为此,我使用带有{%for%}循环的模板来创建表格的行/列。

  • 第一个问题:我不确定这是否是正确的方法,如果有更有效的方式。

  • 第二个问题:如何排序。我想知道如何排序。由于构建表的{%for%}循环,我不知道如何通过单击标题来正确排序表列。我已经看过很多解决方案,但是没有一个能用于表中的循环错过了。

事实上,对于像django-table2这样的东西,我不知道如何合并我的特定循环(而不是打印整个表,我可以使用django-table2进行排序,但是没有能够适应两者设计和信息显示。

下面是我如何在模板中构建内容的示例 - 表中包含一个表:

        <table>
          <thead>
            <tr>
              <th>Status</th>
              <th>Some</th>
              <th>Something</th>
              <th>Other</th>
            </tr>
          </thead>
          <tbody>

            {% block content %}
            {% for x in xx %}
                <tr>
                    <td> {{ x.status }} </td>
                    <td> {{ x.some}} </td>
                    <td> {{ x.something }} </td>
                    <td>

                        <table>
                            <thead>
                              <th> Br </th>
                              <th> Sc </th>
                              <th> Ic </th>
                             </thead>
                             <tbody>
                             <tr>
                                <td>{% if itemA|get_item:varX.name >= 1 %} Good {% else %} Bad {% endif %} </td>
                                <td>{% if itemB|get_item:varY.name >= 1 %} Good {% else %} Bad {% endif %} </td>
                                <td>{% if itemC|get_item:varY.name >= 1 %} Good {% else %} Bad {% endif %} </td>
                             </tr>
                         </table>

                     </td>
                </tr>
         </table>
                </td>
                </tr>

            {% endfor %}
            {% endblock %}

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

  

第一个问题:我不确定这是否是正确的方法   如果有更有效的方式。

是的,这是一个很好的解决方案。

  

第二个问题:如何排序。我想知道如何排序   桌子。由于构建表的{%for%}循环,我没有   知道如何通过单击标题来正确排序我的表列。   我已经看过很多解决方案但没有一个可以在循环中使用   表缺少了一些东西。

您可以对后端进行排序(使用Django中的排序数据渲染模板),也可以对前端(javascript)进行排序。循环不应该与前端排序有任何关系。渲染模板后,你的html就是html,没什么特别的。