2010-12-06 15 views
8

私のために1行に3列のデータを表示したいと思います。結果は次のようになります:forループDjango/pythonの行ごとに3つの列?

<table> 
<tr><td>VALUE1</td><td>VALUE2</td><td>VALUE3</td></tr> 
<tr><td>VALUE4</td><<td>VALUE5</td><td>VALUE6</td></tr> 
</table> 

誰でも知っていますか?

TemplateSyntaxError/

文は 'yのxの' 形式を使用する必要があります 'の' に構文エラーが発生しました:i範囲で(0、LEN(all_products_list)、3)

答えて

22

はdivisiblebyがありますのためにタグ。

だからあなたのようなもの(醜い)行うことができます。また

<table><tr> 
{% for field in form %} 
    <td>{{ field }}</td> 
    {% if forloop.last %} 
    </tr> 
    {% else %} 
    {% if forloop.counter|divisibleby:"3" %} 
     </tr><tr> 
    {% endif %} 
    {% endif %} 
{% endfor %} 
</table> 

を、あなたのフォームクラスに(mark_safeに包まれた)HTML文字列を返すtable_print方法を与えることができます。

+0

答えてくれてありがとうございますが、これはテンプレートタグであり、mysqlから取得したデータのリストです。 –

-2
<table> 
{% for i in range(0, len(stuff), 3) %} 
    <tr> 
    {% for j in range(3) %} 
     <td>{{ stuff[i+j] }}</td> 
    {% endfor %}  
    </tr> 
{% endfor %} 
</table> 

ご迷惑をおかけして申し訳ありません。

+0

このような高速回答がありますが構文エラーはありますか?このメソッドはテンプレートでは機能しませんでしたか? –

関連する問題