2009-04-30 21 views
5

In Django, come si esegue il rendering di un oggetto ModelMultipleChoiceField come multi-colonna <table>?ModelMultipleChoiceField come tabella a più colonne

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

Desidero che questo campo venga visualizzato come tabella a più colonne. Qual è il modo migliore per farlo?

Per chiarire, voglio che il rendering prenda N oggetti e restituisca un codice HTML <table> con una casella di controllo in ogni cella, ad es. tre colonne per ogni <tr>.

risposta

6

Django è codificato per utilizzare uno <ul> qui. Vedi il codice widgets.py.

È possibile creare una sottoclasse della classe di widget CheckboxSelectMultiple e fornire il proprio metodo .render() utilizzando le tabelle.

+1

LOL, questo è il mio vecchio post sul blog! MrGreen woot! hehe anche google "il funzionamento interno del deathstarwidget";) –

+0

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

Problemi correlati