id属性是html标签的标识符,不发送。此外,单独的按钮无法发送数据。为此必须使用锚或整个表格。您使用哪种变体取决于传输的类型和目的。
如果你想使用 GET 请求,一个锚点就足够了。数据作为 URL 的一部分进行传输。嵌入或作为可选参数。这对应于浏览器发送的调用页面的标准类型的请求,例如通过地址栏,并且很容易做到。
<a href="{{ url_for('remove', id=entry.id) }}">Remove</a>
如果您需要 POST 请求,请使用表单。此处,数据在请求正文中发送,并且受到更多保护,免受第三方的影响,并且数据大小限制较少。该请求无法通过地址栏实现。
如果用户要输入条目(例如搜索查询)并且仍然使用 GET 请求,则还需要表单。
<form method="POST" action="{{ url_for('remove', id=entry.id) }}">
<button type="submit">Remove</button>
</shape>
根据请求的类型,可以通过不同的方式在服务器上请求数据。上面的示例使用变量规则将数据从客户端发送到服务器。
这是 GET 请求的简单端点。对于多个或其他请求类型,需要使用
methods
属性来指定。
@app.route('/delete/<int:id>')
def remove(id):
# ...
GET 请求的可选参数可以通过
request.args
请求,POST 请求的表单数据可以通过 request.form
请求。此外,还有针对文件和 JSON 数据的单独选项。该文档针对各自的目的对此进行了解释。