You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyWebIO如何使用put_button实现无需手动刷新返回搜索输入页

实现方法

你只需要把完整的搜索流程封装为独立函数,直接将该函数绑定到put_button()的onclick参数即可,具体逻辑如下:

  • 把「获取输入→执行搜索→展示结果→渲染重新搜索按钮」的完整链路封装为一个单独函数,比如命名为search_flow()
  • 可以在函数开头调用clear()清空页面旧内容,避免旧结果和新输入框叠加展示
  • put_button()的onclick参数直接传入封装好的流程函数名即可,不需要额外加括号

可运行示例代码

from pywebio.input import input
from pywebio.output import put_table, put_button, clear
from pywebio import start_server

def search_flow():
    # 清空当前页面所有内容
    clear()
    # 唤起关键词输入框
    keyword = input("请输入要搜索的关键词:")
    
    # 这里替换为你自己的全网搜索逻辑,以下为模拟测试数据
    mock_result = [
        ["Python基础教程", "示例链接1", "适合入门的Python学习资料"],
        ["PyWebIO官方文档", "示例链接2", "PyWebIO所有API的用法说明"],
        ["Python搜索实战", "示例链接3", "全网搜索功能的实现教程"]
    ]
    
    # 渲染搜索结果表格
    put_table(header=["内容标题", "访问链接", "内容摘要"], data=mock_result)
    # 绑定重新搜索按钮的点击回调
    put_button("重新搜索", onclick=search_flow, color="primary")

if __name__ == '__main__':
    start_server(search_flow, port=8080, debug=True)

点击重新搜索按钮后,会自动触发search_flow函数重新执行,先清空页面再弹出输入框,无需手动刷新页面即可发起新的搜索。

内容的提问来源于stack exchange,提问作者u2107680007911543774e7r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 12:54:04