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
相关产品推荐
相关产品推荐

