Flacon & WTForms: DatePicker Widget pour afficher une date
J'ai un petit Flacon d'application qui dispose de trois champs (Destination, l'Heure de Début et Heure de Fin). Je voudrais utiliser DatePicker widget pour afficher le calendrier lors de la sélection de début et date de fin.
Avec mes scripts en cours à la date widget ne fraie pas du tout. Ce qui me manque ici?
app.py:
# -*- coding: utf-8 -*-
from flask.ext.wtf import Form
from wtforms import SubmitField, SelectField, DateField
from flask import Flask, render_template, request
from flask.ext.bootstrap import Bootstrap
from flask.ext.admin.form.widgets import DatePickerWidget
class GeneralForm(Form):
destination = SelectField(choices = data)
start_time = DateField('Start at', widget=DatePickerWidget())
end_time = DateField('End at', widget=DatePickerWidget())
submit = SubmitField('Submit')
@app.route("/", methods=['GET', 'POST'])
def index():
form = GeneralForm(request.form)
if request.method == 'POST':
destination = form.destination.data
start_time = form.start_time.data
end_time = form.end_time.data
return render_template('page.html', form=form)
else:
return render_template('index.html', form=form)
bootstrap = Bootstrap(app)
if __name__ == '__main__':
app.run(debug=True)
index.html:
<link rel="stylesheet"
href="{{url_for('.static', filename='mystyle.css')}}">
<link rel="stylesheet"
href="{{url_for('.static', filename='datepicker.css')}}">
<link rel="javascript"
href="{{url_for('.static', filename='main.js')}}">
<link rel="javascript"
href="{{url_for('.static', filename='bootstrap-datepicker.js')}}"
<form action="#" method="post">
{{ form.destination }}
{{ form.start_time(class='datepicker') }}
{{ form.end_time(class='datepicker') }}
{{ form.submit }}
</form>
OriginalL'auteur jjjayn | 2015-10-06
Vous devez vous connecter pour publier un commentaire.
Flacon-Admin
DatePickerWidget()
ajoute essentiellementdata-date-format="YYYY-MM-DD" data-role="datepicker"
attributs d'un champ de saisie. Après qu'un code JavaScript personnalisé fonction situé dansflask_admin/static/admin/js/form.js
active le Bootstrap-composant sur ces champs.De sorte que vous devez inclure ce script dans votre modèle (ou écrire votre propre).
Ajoutez cette ligne en haut de votre modèle, qui inclut une aide macro:
et ensuite vous pouvez inclure le
form.js
via l'ajout de ces lignes dans votre modèle (ce script nécessitemoment.js
):Remarque: Vous pouvez également utiliser le Bootstrap-Datepicker les fichiers css et js livré avec Flacon-Admin. Voir la
form_css()
etform_js()
macros dansflask_admin/templates/bootstrap3/admin/lib.html
et copie les lignes correspondantes dans le modèle.Enfait j'ai ajouté form.js et moment.js à partir de github.com/flask-admin/flask-admin/tree/master/flask_admin/static/admin/. Le widget ne fonctionne toujours pas spawn.
OriginalL'auteur Dauros
Avez-vous déclaré le flacon de bootstrap base.html la référence de fichier en haut de votre page?
Vous pouvez alors lancer votre formulaire dans votre page en ajoutant simplement dans la suite de
OriginalL'auteur ScottMcC