#python #html #flask
#python #HTML #flask
Вопрос:
Полный новичок в веб-разработке, поэтому я подозреваю, что это может быть скорее архитектурной проблемой, чем технической..
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
@app.route('/', methods=("POST", "GET"))
def index():
if request.method == 'GET':
return render_template("templ.html")
if request.method == 'POST':
if 'submit' in request.form:
return str([request.form[val] for val in ['input1', 'input2']])
if 'cancel' in request.form:
return redirect(url_for('index'))
app.run(host='0.0.0.0', port='5000')
HTML:
<!doctype html>
<form action="." method="POST">
<div>
<input type="text" name="input1" required="required">
<input type="text" name="input2" required="required">
</div>
<div>
<button name="submit">Submit</button>
<button name="cancel">Cancel</button>
</div>
</form>
Вопрос: Могу ли я пропустить ‘required’ при нажатии кнопки отмены с помощью этого простого дизайна или мне нужно использовать flask_wtf с wtforms.validators? Могу ли я получить рабочий минимальный скрипт с моим примером кода, пожалуйста?
Ответ №1:
Может быть более эффективный способ обработки, но это сработает, поскольку кнопка «Отмена» помещается в отдельную форму.
<form action="." method="POST" id ="CancelForm"></form>
<form action="." method="POST">
<div>
<input type="text" name="input1" required="required">
<input type="text" name="input2" required="required">
</div>
<div>
<button name="submit">Submit</button>
<button type="submit" form="CancelForm">Cancel</submit>
</div>
</form>
Возможно, вы захотите выполнить другое действие, чтобы вы могли обрабатывать «отмену» по-другому
Комментарии:
1. Спасибо, это сработало! Возможно, вы захотите отредактировать свой ответ, чтобы добавить name =»CancelForm», а затем отредактировать скрипт py, чтобы искать это в request.form? В противном случае это выдает ошибку, если нет более обычного способа