2009-04-30 27 views
5

在Django中,如何渲染ModelMultipleChoiceField作爲多列<table>ModelMultipleChoiceField作爲多列表

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

我希望此字段呈現爲多列表格。哪種做法最好?爲了說明起見,我希望渲染使用N個對象,並在每個單元格中呈現帶有一個複選框的HTML <table>。每個<tr>三列。

回答

6

Django被硬編碼爲在這裏使用<ul>。請參閱widgets.py代碼。

您可以繼承CheckboxSelectMultiple小部件類,並使用表提供您自己的.render()方法。

+1

大聲笑,這是我的舊博客文章! :-發抖! hehe也谷歌「deathstarwidget的內部工作」;) – 2012-09-10 01:59:39