Ist es möglich, einige der neuen Attribute nur Attribute in HTML5 zu verwenden, innerhalb von WTForms?
Beispiel: Sie möchten ein TextField mit Platzhalter="foo", erforderlichen Attributen und Autofokusattributen erstellen. Wie würde dies in WTForms gemacht?
In html würde es so aussehen: <input maxlength="256" name="q" value="" placeholder="foo" autofocus required>
Beachten Sie, dass placeholder="foo"
in WTForms leicht erledigt werden kann. autofocus
und required
, weil sie keinen Wert haben, sind .. naja, soweit ich gesehen habe, in WTForms nicht unterstützt.
Können WTForms dies unterstützen?
Sie müssen wahrscheinlich ein benutzerdefiniertes Widget erstellen.
Sehen Sie sich die Dokumente für benutzerdefinierte Widgets an.
In WTForms 1.0, das gestern veröffentlicht wurde, ist jetzt die HTML5-Kompaktsyntax die Standardeinstellung. Jetzt können Sie (in Jinja) tun:
%Vor% Beachten Sie, dass in Jinja das Literal true
anstelle von True
ist. Wenn Sie dies jedoch in der Python-Konsole versuchen, müssen Sie das Python-Literal True
verwenden, damit dies funktioniert.
In WTForms 0.6.x, die XHTML als Standardausgabe verwendet haben, könnten Sie z.B.
tun %Vor%Dies ist die empfohlene Methode für die Darstellung boolescher Attribute in XHTML, und dies ist immer noch 100% valides HTML5 und absolut äquivalent, obwohl das erzeugte HTML ein wenig ausführlicher ist.
Ich bin neu bei WTForms, aber es scheint mir, dass die Lösung verbessert werden könnte anstatt zu verwenden:
%Vor%verwenden:
%Vor% WTForms scheint nicht korrekt mit required=false
für 100% HTML5 umzugehen und setzt im HTML-Code ein attr required="False"
, anstatt das attr zu entfernen. Könnte dies in der nächsten Version von WTForms verbessert werden?