2011-01-06 3 views
7

Einig Front-End-Experten behaupten, dass ein <input> mit den <label> (impliziten Etikett) Verpackung ist eine bevorzugte Praxis (im Vergleich zu explizit diejenigen, auch wenn sie das for Attribute).Django <input> innen <label>

Was auch immer die Gründe dafür sind, ich würde gerne sehen, wie dies mit Django auf eine elegante Art technisch gemacht werden kann.

+2

Welche Front-End-Experten? Woher? Können Sie einen Link bereitstellen? –

+1

Offline-Diskussion mit Menschen, mit denen ich arbeite. – kmt

+0

@Joe D, Zurb Foundation verwendet es und hier ist ein Link: http://zurb.com/article/195/make-web-forms-suck-less-with-labels – Nils

Antwort

3

Schreiben Sie Ihre eigenen Widgets und verwenden Sie sie auf Ihrem Forms.

+1

Form._html_output ist, was die Ausgabe steuert, nicht die Widgets. – kmt

+3

@kmt 'Widgets' haben eine 'render' Methode, die das Markup für das' Widget' selbst erzeugt; Sie könnten auch das Label "label" erzeugen lassen (obwohl Sie sicherstellen müssen, dass das "BoundField" für Ihr "Widget" nicht irgendwie ein eigenes "Label" ausgibt). Um es klar zu sagen: Ich empfehle das nicht. Zum einen ist es eine PITA für (für meine Augen) keinen Nutzen. Es ist auch wahrscheinlich, dass es die meisten Layouts unterbricht, da die "Labels" in einer Spalte und die "Eingänge" usw. in einer anderen liegen. –

+1

Ich habe keine anderen Versionen angeschaut, aber in Version 1.2.3 würde Form._html_output sowohl die 'BoundField'-Bezeichnung als auch die' Widget'-Ausgabe an die Ausgabe anhängen. Das ist, was ich nicht kontrollieren kann, wenn ich diese Methode nicht überschreibe (was eine * schlechte * Idee ist). – kmt