2017-07-05 15 views
1

私は誰でも私を助けることを願っています。 私は最初の100行のプレビューを取得するために私のMySQLデータベース内の異なるテーブル(列の数が異なる)を照会します。テーブルに値を表示したい。 views.pyで 私は次のコードを持っている:私のHTMLテンプレートでバリアント長のタプルをDjangoのテーブルにリストする方法は?

cursor.execute("SELECT column_name FROM information_schema.columns WHERE 
table_name = '%s';" %table) 
columns = cursor.fetchall() 
columns_list = [i[0] for i in columns] 
cursor.execute("SELECT * FROM %s LIMIT 100;" %table) 
preview = cursor.fetchall() 

コードは次のようになります。

<table> 
    <tr> 
     {% if columns_list %} 
      {% for column in columns_list %} 
       <th>{{column}}</th> 
      {% endfor %} 
     {% endif %} 
    </tr> 
    <tr> 
     {% if preview %} 
      {% for row in preview %} 
       <td>{{ row.0 }}</td> 
       <td>{{ row.1 }}</td> 
       <td>{{ row.2 }}</td> 
       <td>{{ row.3 }}</td> 
    </tr> 
      {% endfor %} 
     {% endif %} 
</table> 

しかし、私のテーブルが4列を持っている場合にのみ機能します。 複数のforループと配列を使うよりも、タプルを分割して割り当てるほうが簡単ですか?

ありがとうございました!

答えて

2

あなたは動的にテーブルの列を生成するために、ネストされたためのループを使用することができます。

{% if preview %} 
    {% for row in preview %} 
    <tr> 
     {% for col in row %} 
     <td>{{ col }}</td> 
     {% endfor %} 
    </tr> 
    {% endfor %} 
{% endif %} 
+1

はありがとう:)!できます! – Andrea

関連する問題