#!/usr/bin/python3 from flask import Flask, render_template, flash, request from flask_wtf import FlaskForm from wtforms import Form, BooleanField, SubmitField, TextField from wtforms.validators import DataRequired import os DEBUG = False app = Flask(__name__) app.config.from_object(__name__) app.config['SECRET_KEY'] = os.urandom(40) class QRForm(FlaskForm): user_data = TextField("Dane:", validators=[DataRequired()]) # setting default here doesn't work, so we cannot retain checkbox state over POST # we force trim_spaced to be checked in the template # see https://github.com/wtforms/flask-wtf/issues/489 https://github.com/wtforms/flask-wtf/issues/362 # https://github.com/wtforms/flask-wtf/issues/464 trim_spaces = BooleanField("UsuĊ„ spacje") submit = SubmitField("Generuj") @app.route("/", methods=["GET", "POST"]) def main(): form = QRForm(request.form) if request.method == "POST": data = request.form["user_data"] if "trim_spaces" in request.form and request.form["trim_spaces"] == "y": data = data.replace(" ", "") else: # not POST? get back to ourselves data = request.url_root return render_template("main.html", form=form, data=data, genurl="/render/") if __name__ == "__main__": app.run(host='::')