【问题标题】:How can I show in django list of records from db如何在 django 中显示来自 db 的记录列表
【发布时间】:2017-08-08 11:11:55
【问题描述】:

有人可以帮我吗?我的 html 文件中有来自 django 数据库的 60 条记录的列表。我想在 6 列和 10 行的表中显示该列表。在 html 文件中,我使用了命令 {% for %} 但列表在一列中。

我的html文件是:

{% for kategoria in kategorie %} 
<table> 
  <tr> 
    <th> <a href="#">{{ kategoria.glowna|linebreaksbr }} </a> ({{ wpisy_kat }}) </th> 
  </tr> 
</table> 
{% endfor %}

【问题讨论】:

  • 你应该详细说明一下,把你试过的东西,他们问的方式太笼统了
  • 我的 html 文件是:{% for kategoria in kategorie %}
    {{ kategoria.glowna|linebreaksbr }} ({{ wpisy_kat }})
    {% endfor %} 但这个视图只显示了一个列表。我想在表格上显示我如何在 6 列和 10 行中不分页写的类别中的记录列表。
  • 请发布您的视图方法或课程。如果是列表视图,请尝试{% for kategoria in objects %}
  • 这是部分 od 查看文件:def widok_kategorii(request): kategorie = Kategorie.objects.all() wpisy_kat = Kategorie.objects.count() return render(request, 'firmy/widok_kategorii.html ', {'kategorie': 类别, 'wpisy_kat': wpisy_kat})
  • @killerbees 看看我的答案,如果它是你想要的。

标签: python html django


【解决方案1】:

您可以尝试在模板中使用divisibleby 模板标签,这样每六个条目后更改行。

记住{{ forloop.counter }}{#起始索引1#}和{{ forloop.counter0 }}{#起始索引0#}

 {% for kategoria in kategorie %} 
    <table> 
     {% if not forloop.counter0 |divisibleby:"6" %}
      <tr> 
     {% endif %}
        <th> <a href="#">{{ kategoria.glowna|linebreaksbr }} </a> ({{ wpisy_kat }}) </th> 
    {% if forloop.counter|divisibleby:"6" %}
      </tr> 
    {% endif %}

</table> 
{% endfor %}

【讨论】:

    【解决方案2】:
    <table>
     {% for object in queryset %}
       <tr>
         <td> object.attr1 </td>
         <td> object.attr2 </td>
         <td> object.attr3 </td>
         <td> object.attr4 </td>
         <td> object.attr5 </td>
         <td> object.attr6 </td>
       </tr>
     {% endfor %}
    </table>
    

    如果你想拥有更多页面,每页有 10 个项目,请查看 django 的 pagination

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-29
      • 1970-01-01
      • 1970-01-01
      • 2017-05-05
      • 2017-01-30
      • 2016-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多