【发布时间】:2018-08-11 19:24:40
【问题描述】:
我想知道为什么这没有按计划进行。下表是一个表格。每个表格行都有一个book id 和book title。 book title 被格式化为一个按钮,这样我就可以在表单提交时使用 post 方法。单击按钮时,该方法(如下所示)触发得足够好,但书籍 ID 并未传递给该方法。我需要将 book id 传递给底层方法,因为它将在 SQL 查询中使用。有没有办法让我做到这一点?
{% block body %}
<div class="align-center">
<form action="{{ url_for('books') }}" method="post">
<table class="table">
<thead>
<tr>
<th></th>
<th>Book ID</th>
<th>ISBN #</th>
<th>Title</th>
<th>Author</th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="6"></td>
</tr>
</tfoot>
{% for book in books %}
<tr>
<td></td>
<td name="bookid">{{ book.id }}</td>
<td name="bookisbn">{{ book.isbn }}</td>
<td name="booktitle"><button btn style="border:none; border-bottom: 1px solid black;">{{ book.title }}</button></td>
<td name="bookauthor">{{ book.author }}</td>
</tr>
{% endfor %}
</table>
</form>
</div>
{% endblock %}
这是我要发布的 Flask 方法:
@app.route("/books", methods=["POST"])
@login_required
def books():
bookid = request.form.get("bookid")
return render_template("books.html", message=bookid)
【问题讨论】:
标签: python flask forms http-post