Streamlit 介绍
Streamlit是一个Python 的一个快速开发框架,不需要写前端代码就可以快速开发网页,更多是应用于数据和 AI 相关的快速开发。
以下是如何使用 Streamlit 创建一个简单的表单来输入姓名和年龄,并将数据提交到一个外部 URL(例如 http://a.com/adduser)并显示结果的示例代码。
安装 Streamlit
首先,安装 Streamlit:
pip install streamlit
创建 Streamlit 应用
创建一个新的 Python 脚本文件(例如 app.py),并添加以下代码,后端地址修改为本地可以访问的地址:
import streamlit as st
import requests
# 设置应用的标题
st.title("用户信息表单")
# 创建表单
with st.form("user_form"):
name = st.text_input("姓名")
age = st.number_input("年龄", min_value=0, max_value=120)
submitted = st.form_submit_button("提交")
# 处理表单提交
if submitted:
# 定义要发送数据的URL
url = "http://10.91.3.116:8083/test/adduser"
# 准备数据
payload = {'name': name, 'age': age}
# 发送POST请求
try:
response = requests.post(url, data=payload)
response.raise_for_status() # 检查是否有HTTP错误
# 显示结果
st.success(f"响应: {response.text}")
except requests.exceptions.RequestException as e:
st.error(f"错误: {e}")
运行 Streamlit 应用
streamlit run app.py
Streamlit 总结
优点
- 易用性高: 基于 Python 语言开发,无需前端开发技能即可创建应用。
- 快速迭代: 每次保存代码文件时,应用会自动刷新,无需手动重启,提升开发效率。
- 高度可定制: 提供丰富的组件和图表库支持,可以轻松定制应用的外观和功能。
- 实时交互: 用户可以在应用中实时交互,如调整参数、上传文件并即时查看结果,适合构建数据分析和机器学习模型调试界面。
- 良好的社区支持: 拥有大量用户和丰富的社区资源,遇到问题时容易找到解决方案。
缺点
- 性能限制: 对于非常复杂或需要高性能的应用,Streamlit 可能不如专门的前端框架(如 React)高效。
- 功能有限: 虽然组件丰富,但相比专业的前端框架,Streamlit 的功能和灵活性仍有一定差距。
- 状态管理: Streamlit 的状态管理较为基础,对于复杂的多页面应用,管理状态可能会比较困难。
所以,Streamlit 非常适合快速原型开发,或者内部小型应用,对数据、算法开发人员非常有好。