maybe radio fields

This commit is contained in:
cellarspoon 2021-12-06 11:10:58 +01:00
parent b3fce88c98
commit dd60df3f18
No known key found for this signature in database
GPG Key ID: 03789458B3D0C410
2 changed files with 41 additions and 10 deletions

40
app.py
View File

@ -6,7 +6,7 @@ from flask_wtf import FlaskForm
from flask_wtf.csrf import CSRFProtect from flask_wtf.csrf import CSRFProtect
from flask_wtf.file import FileAllowed, FileField, FileRequired from flask_wtf.file import FileAllowed, FileField, FileRequired
from werkzeug.utils import secure_filename from werkzeug.utils import secure_filename
from wtforms import StringField from wtforms import RadioField, StringField
from wtforms.validators import DataRequired from wtforms.validators import DataRequired
app = Flask(__name__) app = Flask(__name__)
@ -21,18 +21,44 @@ class UploadForm(FlaskForm):
pdf = FileField(validators=[FileAllowed(["pdf"], "PDFs only!"), FileRequired()]) pdf = FileField(validators=[FileAllowed(["pdf"], "PDFs only!"), FileRequired()])
class CardSidesForm(FlaskForm):
title = RadioField("title", choices=[("side a", "side a"), ("side b", "side b")])
@app.route("/") @app.route("/")
def home(): def home():
form = UploadForm() upload_form = UploadForm()
return render_template("index.html", form=form) card_sides_form = CardSidesForm()
return render_template(
"index.html", upload_form=upload_form, card_sides_form=card_sides_form
)
@app.route("/upload", methods=["POST"]) @app.route("/upload", methods=["POST"])
def upload(): def upload():
form = UploadForm() upload_form = UploadForm()
if form.validate_on_submit(): card_sides_form = CardSidesForm()
f = form.pdf.data
if upload_form.validate_on_submit():
f = upload_form.pdf.data
filename = secure_filename(f.filename) filename = secure_filename(f.filename)
f.save(os.path.join(CWD, "pdfs", filename)) f.save(os.path.join(CWD, "pdfs", filename))
return redirect(url_for("home")) return redirect(url_for("home"))
return render_template("index.html", form=form) return render_template(
"index.html", upload_form=upload_form, card_sides_form=card_sides_form
)
@app.route("/generate", methods=["POST"])
def generate():
upload_form = UploadForm()
card_sides_form = CardSidesForm()
if card_sides_form.validate_on_submit():
print(card_sides_form.title.data)
else:
print("didnt work")
return render_template(
"index.html", upload_form=upload_form, card_sides_form=card_sides_form
)

View File

@ -7,16 +7,21 @@
</head> </head>
<body> <body>
<form method="POST" action="/upload" enctype="multipart/form-data"> <form method="POST" action="/upload" enctype="multipart/form-data">
{{ form.csrf_token }} {{ form.pdf }} {{ upload_form.csrf_token }} {{ upload_form.pdf }}
<input type="submit" value="Go" /> <input type="submit" value="Go" />
</form> </form>
{% if form.pdf.errors %} {% if upload_form.pdf.errors %}
<ul class="errors"> <ul class="errors">
{% for error in form.pdf.errors %} {% for error in upload_form.pdf.errors %}
<li>{{ error }}</li> <li>{{ error }}</li>
{% endfor %} {% endfor %}
</ul> </ul>
{% endif %} {% endif %}
<form method="POST" action="/generate" enctype="multipart/form-data">
{{ card_sides_form.csrf_token }} {{ card_sides_form.title }}
<input type="submit" value="Go" />
</form>
</body> </body>
</html> </html>