Files
quick-qrcode-generator/app/qrwebform.py

41 lines
1.3 KiB
Python
Raw Normal View History

#!/usr/bin/python3
2020-12-28 15:28:54 +01:00
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
2020-12-28 15:28:54 +01:00
DEBUG = False
app = Flask(__name__)
app.config.from_object(__name__)
app.config['SECRET_KEY'] = os.urandom(40)
2020-12-28 15:28:54 +01:00
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")
2020-12-28 15:28:54 +01:00
@app.route("/", methods=["GET", "POST"])
def main():
form = QRForm(request.form)
2020-12-28 15:28:54 +01:00
if request.method == "POST":
data = request.form["user_data"]
if "trim_spaces" in request.form and request.form["trim_spaces"] == "y":
data = data.replace(" ", "")
2020-12-28 15:28:54 +01:00
else:
2020-12-28 19:17:48 +01:00
# not POST? get back to ourselves
data = request.url_root
2020-12-28 19:17:48 +01:00
return render_template("main.html", form=form, data=data, genurl="/render/")
2020-12-28 15:28:54 +01:00
if __name__ == "__main__":
app.run(host='::')