2011-01-06 12 views
7

Niektórzy eksperci twierdzą, front-end, które owijania <input> z etykietami <label> (ukrytych) jest korzystne praktyka (w porównaniu do tych jawnych, nawet jeśli mają atrybut for).Django <input> wewnątrz <label>

Niezależnie od powodów, chciałbym zobaczyć, jak można to technicznie zrobić z Django w elegancki sposób.

+2

Którzy specjaliści front-end? Gdzie? Czy możesz podać link? –

+1

Dyskusja off-line z ludźmi, z którymi pracuję. – kmt

+0

@Joe D, Zurb Foundation używa go i tutaj jest link: http://zurb.com/article/195/make-web-forms-suck-less-with-labels – Nils

Odpowiedz

3

Napisz własną Widgets i użyj ich na swoim Forms.

+1

Form._html_output jest tym, co kontroluje ouput, nie widżety. – kmt

+3

@kmt 'Widgets' ma metodę' render', która produkuje znaczniki dla samego 'Widget'; możesz również utworzyć znacznik 'label' (chociaż musisz się upewnić, że' BoundField' dla twojego 'Widget' nie w jakiś sposób sam drukuje" etykietę "). Aby było jasne: nie polecam tego. Po pierwsze, to PITA dla (do moich oczu) żadnej korzyści. Poza tym najprawdopodobniej złamie większość układów, ponieważ "etykiety" znajdują się w jednej kolumnie, a "dane wejściowe" itp. Są w innej. –

+1

Nie oglądałem innych wersji, ale w wersji 1.2 Form._html_output dołączałby zarówno etykietę 'BoundField', jak i' Widget' do jej wyjścia. To jest to, nad czym nie mam kontroli, chyba że zastąpię tę metodę (która jest * złym * pomysłem). – kmt