2009-04-30 7 views
5

Djangoでは、ModelMultipleChoiceFieldをマルチカラム<table>としてどのようにレンダリングするのですか?ModelMultipleChoiceFieldを複数列テーブル

fav = forms.ModelMultipleChoiceField(Show.objects.all(), 
            widget=forms.CheckboxSelectMultiple) 

このフィールドを複数列のテーブルとしてレンダリングします。それを行うための最良の方法はどれですか?

明確にするために、N個のオブジェクトをレンダリングし、各セルに1つのチェックボックスでHTML <table>をレンダリングしたいとします。それぞれの3つの列<tr>

答えて

6

Djangoはここで<ul>を使用するようにハードコードされています。 widgets.pyコードを参照してください。

CheckboxSelectMultipleウィジェットクラスをサブクラス化し、テーブルを使用して独自の.render()メソッドを提供することができます。

+1

LOL、これは私の古いブログ記事です! :-D woot! heheもgoogle "deathstarwidgetの内部の動作";) –

+0

http://skyl.org/log/post/skyl/2011/01/wherein-the-inner-workings-of-the-deathstarwidget-are-revealed/ –

関連する問題