gpt4 book ai didi

python - 通过表单发送表格数据到 Flask 方法

转载 作者:太空宇宙 更新时间:2023-11-04 04:35:37 25 4
gpt4 key购买 nike

我想知道为什么这没有按计划进行。下表是一个表格。每个表行都有一个 book idbook titlebook 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)

最佳答案

您只能使用 <input> 从 HTML 表单提交值元素。因此,您需要转换 <td name="...">元素 <input> s 或在每个 <td> 附近添加一个隐藏输入:

...
<td name="bookid">{{ book.id }}</td>
<input type="hidden" name="bookid" value="{{ book.id }}" />
<td name="bookisbn">{{ book.isbn }}</td>
<input type="hidden" name="bookisbn" value="{{ book.isbn }}" />
...

关于python - 通过表单发送表格数据到 Flask 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51803008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com