DatePickerWidget mit Flask, Flask-Admin und WTforms

8

Ich versuche, eine Vorlage zu rendern, die einen DatePicker enthält, aber ich erhalte einen Fehler von 500, wenn ich es versuche. Für mich ist der Code korrekt, aber es scheint, dass etwas scheitert oder ich verstehe nicht richtig, wie es gemacht wird.

Der Code ist der folgende:

Reporting.py

%Vor%

Berichtsvorlage:

%Vor%     
Pepeluis 26.09.2014, 10:43
quelle

1 Antwort

17

Wie Davidism in den Kommentaren sagt, bietet das Standard-DateField nur das Parsen von Datum, es wird nur als normale Texteingabe angezeigt.

Wenn Sie bereit sind, html5 vollständig zu verwenden, können Sie das DateField von wtforms.fields.html5 verwenden, das einen Datepicker in jedem Browser rendert, der es unterstützt:

%Vor%

Der üblichere Ansatz besteht darin, online einen schönen Datepicker zu finden, der CSS und JS verwendet, um die Anzeige zu bearbeiten und diesen Code in Ihre HTML-Vorlage einzufügen, und ihn anweist, den Datepicker-Stil auf jedes HTML-Element anzuwenden, das eine Klasse von %Code%. Dann, wenn Sie Ihr Formular generieren, können Sie einfach tun:

%Vor%

Alle Attribute (die nicht für andere Zwecke reserviert sind), die Sie in das Rendering des Formularelements übergeben, werden standardmäßig als Attribut hinzugefügt, zum Beispiel wird datepicker {{ form.dt(class='datepicker') }} generieren, damit Ihre CSS / JS dann Tun Sie, was Sie tun müssen, um Ihrem Benutzer eine gute Schnittstelle zu bieten.

    
Doobeh 27.09.2014, 01:13
quelle