diff --git a/templates/webapp_ex1/README.md b/templates/webapp_ex1/README.md new file mode 100644 index 0000000..d07794d --- /dev/null +++ b/templates/webapp_ex1/README.md @@ -0,0 +1,13 @@ +Sebastian Raschka, 2015 + +# Flask Example App 1 + +A simple Flask app that calculates the sum of two numbers entered in the respective input fields. + +A more detailed description is going to follow some time in future. + +You can run the app locally by executing `python app.py` within this directory. + +
+ +![](./img/img_1.png) diff --git a/templates/webapp_ex1/app.py b/templates/webapp_ex1/app.py new file mode 100644 index 0000000..5314e37 --- /dev/null +++ b/templates/webapp_ex1/app.py @@ -0,0 +1,31 @@ +from flask import Flask, render_template, request +from wtforms import Form, DecimalField, validators + +app = Flask(__name__) + + +class EntryForm(Form): + x_entry = DecimalField('x:', + places=10, + validators=[validators.NumberRange(-1e10, 1e10)]) + y_entry = DecimalField('y:', + places=10, + validators=[validators.NumberRange(-1e10, 1e10)]) + +@app.route('/') +def index(): + form = EntryForm(request.form) + return render_template('entry.html', form=form, z='') + +@app.route('/results', methods=['POST']) +def results(): + form = EntryForm(request.form) + z = '' + if request.method == 'POST' and form.validate(): + x = request.form['x_entry'] + y = request.form['y_entry'] + z = float(x) + float(y) + return render_template('entry.html', form=form, z=z) + +if __name__ == '__main__': + app.run(debug=True) \ No newline at end of file diff --git a/templates/webapp_ex1/img/img_1.png b/templates/webapp_ex1/img/img_1.png new file mode 100644 index 0000000..bfc3510 Binary files /dev/null and b/templates/webapp_ex1/img/img_1.png differ diff --git a/templates/webapp_ex1/static/style.css b/templates/webapp_ex1/static/style.css new file mode 100644 index 0000000..8abda7b --- /dev/null +++ b/templates/webapp_ex1/static/style.css @@ -0,0 +1,7 @@ +body{ + width:600px; +} + +#button{ + padding-top: 20px; +} \ No newline at end of file diff --git a/templates/webapp_ex1/templates/_formhelpers.html b/templates/webapp_ex1/templates/_formhelpers.html new file mode 100644 index 0000000..5790894 --- /dev/null +++ b/templates/webapp_ex1/templates/_formhelpers.html @@ -0,0 +1,12 @@ +{% macro render_field(field) %} +
{{ field.label }} +
{{ field(**kwargs)|safe }} + {% if field.errors %} + + {% endif %} +
+{% endmacro %} \ No newline at end of file diff --git a/templates/webapp_ex1/templates/entry.html b/templates/webapp_ex1/templates/entry.html new file mode 100644 index 0000000..c31100d --- /dev/null +++ b/templates/webapp_ex1/templates/entry.html @@ -0,0 +1,26 @@ + + + + Webapp Ex 1 + + + + +{% from "_formhelpers.html" import render_field %} + +
+
+ {{ render_field(form.x_entry, cols='1', rows='1') }} + {{ render_field(form.y_entry, cols='1', rows='1') }} +
+
+ +
+ +
+ x + y = {{ z }} +
+
+ + + \ No newline at end of file