簡體   English   中英

Django HTML 模板表格渲染

[英]Django HTML template table rendering

我想呈現一個看起來像這樣的表格:

<table>
  <tr>
    <td>some data</td>
    <th>special one</th>
    <td>some data</td>
      ...
    <td>some data</td>
  </tr>
  ...
</table>

有一種解決方案可以在同一個標​​簽中呈現所有內容。

<table>
  {% for rowval in results %}    
     <tr>
     {% for val in rowval %}
      <td>{{val}}</td>
     {% endfor %}
    </tr>
  {% endfor %}
</table> 

但在我的情況下,如果有記錄,數據的每一行都會有一個th在第二位。

還有另一種解決方案不如下面的答案好,因為它在視圖中保留了部分表、 tdtr

有沒有辦法實現這個功能?

在 django 模板for loop 中有一些可用的變量,其中一個名為forloop.counter ,它為您提供循環的當前迭代。 您可以使用此變量在第二個循環中呈現不同的內容

<table>
  {% for rowval in results %}    
    <tr>
      {% for val in rowval %}
        {% if forloop.counter == 2 %}
          <th>{{ val }}</th>
        {% else %}
          <td>{{ val }}</td>
        {% endif %}
     {% endfor %}
    </tr>
  {% endfor %}
</table> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM