refactor(qrgen): generaliza "URL" into "data", correctly use FlaskWTForms

This commit is contained in:
2022-02-13 22:39:48 +01:00
parent 813aa9ddb7
commit b513f1ed00
2 changed files with 13 additions and 9 deletions

View File

@@ -1,26 +1,29 @@
#!/usr/bin/python3 #!/usr/bin/python3
from flask import Flask, render_template, flash, request from flask import Flask, render_template, flash, request
from flask_wtf import FlaskForm
from wtforms import Form, TextField from wtforms import Form, TextField
import os
DEBUG = False DEBUG = False
app = Flask(__name__) app = Flask(__name__)
app.config.from_object(__name__) app.config.from_object(__name__)
app.config['SECRET_KEY'] = os.urandom(40)
class ReusableForm(Form): class QRForm(FlaskForm):
url = TextField("Data:") user_data = TextField("Dane:")
@app.route("/", methods=["GET", "POST"]) @app.route("/", methods=["GET", "POST"])
def main(): def main():
form = ReusableForm(request.form) form = QRForm(request.form)
if request.method == "POST": if request.method == "POST":
target_url = request.form["url"] data = request.form["user_data"]
else: else:
# not POST? get back to ourselves # not POST? get back to ourselves
target_url = request.url_root data = request.url_root
return render_template("main.html", form=form, target_url=target_url, genurl="/render/") return render_template("main.html", form=form, data=data, genurl="/render/")
if __name__ == "__main__": if __name__ == "__main__":
app.run(host='::') app.run(host='::')

View File

@@ -10,8 +10,9 @@
<br/> <br/>
<p> <p>
<form action="" method="post"> <form action="" method="post">
{{ form.csrf_token }}
<div class="input text"> <div class="input text">
{{ form.url.label}} {{ form.url }} </div> {{ form.user_data.label }} {{ form.user_data }} </div>
<div class="input submit"> <div class="input submit">
<input type="submit" value="Generate"</div> <input type="submit" value="Generate"</div>
@@ -21,8 +22,8 @@
<hr> <hr>
<p> <p>
<div><img src="{{ genurl }}?size=512&data={{ target_url }}"> <br/> <div><img src="{{ genurl }}?size=512&data={{ data | urlencode }}"> <br/>
{{ target_url }} {{ data }}
</div> </div>
</p> </p>
</center> </center>