Skip to content

Instantly share code, notes, and snippets.



Forked from doobeh/home.html
Created Jan 20, 2016
What would you like to do?
More complete example of FieldList with FormField
<form method="post" action="">
{{ form.hidden_tag() }}
{% for entry in form.hours %}
{{ loop.index0|dow }}
{{ entry() }}
{% endfor %}
<input type="submit"/>
from flask import Flask, render_template
from flask_wtf import Form
from wtforms import StringField, FormField, FieldList, HiddenField
import calendar
app = Flask(__name__)
app.secret_key = 'SCRATCH'
def dow_name(dow):
return calendar.day_name[dow]
app.jinja_env.filters['dow'] = dow_name
class TimeForm(Form):
opening = StringField('Opening Hour')
closing = StringField('Closing Hour')
day = HiddenField('Day')
class BusinessForm(Form):
name = StringField('Business Name')
hours = FieldList(FormField(TimeForm), min_entries=7, max_entries=7)
@app.route('/', methods=['post','get'])
def home():
form = BusinessForm()
if form.validate_on_submit():
results = []
for idx, data in enumerate(
results.append('{day}: [{open}]:[{close}]'.format(
return render_template('results.html', results=results)
return render_template('home.html', form=form)
if __name__ == '__main__':
{% for line in results %}
<li>{{ line }}</li>
{% endfor %}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.