Files
quick-qrcode-generator-tmp/app/qrwebform.py
Tomasz Torcz 84abf2705b fix(qrgen): fix "trim spaces" checkbox hold state over submits
Only use submitted data to populate form when in POST handler.
Otherwise default value for Boolean field gets clobbered.
2022-02-15 13:28:49 +01:00

38 lines
1.1 KiB
Python
Executable File

#!/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()])
trim_spaces = BooleanField("Usuń spacje", default=True)
submit = SubmitField("Generuj")
@app.route("/", methods=["GET", "POST"])
def main():
if request.method == "POST":
form = QRForm(request.form)
data = request.form["user_data"]
if "trim_spaces" in request.form:
data = data.replace(" ", "")
else:
# not POST? get back to ourselves, start with empty form
form = QRForm()
data = request.url_root
return render_template("main.html", form=form, data=data, genurl="/render/")
if __name__ == "__main__":
app.run(host='::')