I am new to wtforms, so I`ll really appreciate any help.
I need to display books names and near each put "Delete" button. I`ve read wtforms crash course but I have no idea how to solve my problem with it.
So I decided to do it other way - my best idea is to render to template a dict with id and name and on submit return id, but I still can`t do it. Code examples are below.
It`s view.py
@application.route('/delete', methods=['GET', 'POST'])
def delete():
books_lib = mydatabase.get_all_books()
form = DeleteForm(request.form)
if request.method == 'POST':
delete_id = form.id.data
mydatabase.del_book(delete_id)
return render_template('delete.html', form = form, books_lib = books_lib)
return render_template('delete.html', form = form, books_lib = books_lib)
It`s template
<!DOCTYPE html>
<html>
<body>
<h2>book to delete</h2>
<form action="/delete" name="delete" method="POST">
{% if books_lib %}
{% for id, book in books_lib.items() %}
<p>{{book}}:<input type="submit" value="Delete" id="{{id}}">
{% endfor%}
{% endif %}
</form>
</body>
</html>
It`s form
class DeleteForm(Form):
book = TextField("Book name", [validators.Length(min=2, max=25)])
id = HiddenField("id")