使用 Streamlit 和 Python 构建 Web 应用程序
阅读:44
点赞:0
一. 引言
在本文中,我们将探索如何使用 Streamlit 构建一个简单的 Web 应用。Streamlit 是一个强大的 Python 库,允许开发者快速而轻松地创建交互式 Web 应用。它旨在使 Python 开发者在创建 Web 应用时尽可能简单。以下是一些 Streamlit 的主要优势:
-
简单的 API -
快速原型开发 -
轻松部署 -
内置小部件和组件 -
开发过程中自动重新加载
二. 安装 Streamlit
首先,你需要安装 Streamlit。可以使用以下命令进行安装:
pip install streamlit
三. 示例代码
下面是构建简单待办事项应用的示例代码:
import streamlit as st # 导入 Streamlit 库
def main():
st.title("简单待办事项列表应用") # 设置应用标题
# 初始化待办事项列表
if 'todos' not in st.session_state: # 检查 session_state 中是否存在 'todos'
st.session_state.todos = [] # 如果不存在,则初始化为空列表
# 输入新的待办事项
new_todo = st.text_input("添加新的待办事项:") # 创建文本输入框
# 按钮添加新的待办事项
if st.button("添加") and new_todo: # 如果按钮被点击且输入框不为空
st.session_state.todos.append(new_todo) # 将新事项添加到待办列表
st.success(f"已添加: {new_todo}") # 显示成功消息
# 显示待办事项列表
st.subheader("你的待办事项列表:") # 显示子标题
for i, todo in enumerate(st.session_state.todos, 1): # 遍历待办事项列表
st.write(f"{i}. {todo}") # 显示每个待办事项
# 清空所有待办事项的按钮
if st.button("清空所有"):
st.session_state.todos = [] # 清空待办事项列表
st.success("所有事项已清空!") # 显示成功消息
if __name__ == "__main__": # 检查是否是主模块
main() # 调用主函数
四. 如何运行应用
要运行上面的应用,请使用以下命令,Streamlit 将自动在 8501 端口运行:
streamlit run todo_app.py
五. 输出效果
应用逻辑解析
-
导入库: 我们导入了 Streamlit 库。 -
定义主函数: main()
函数包含了我们的应用逻辑。 -
设置应用标题: 使用 st.title()
方法设置 Web 应用的标题。 -
使用 st.session_state
存储待办事项: 这使得待办事项在应用重新运行时能够持续存在。 -
创建文本输入框: st.text_input()
创建了一个输入框用于输入新的待办事项。 -
添加按钮: st.button("添加")
创建了一个按钮,点击后将新事项添加到列表中。 -
显示待办事项: 使用 for
循环与st.write()
显示待办事项列表中的每一项。 -
清空按钮: 另一个按钮用于清空所有待办事项。 -
成功消息: 使用 st.success()
显示添加或清空待办事项的成功消息。
六. 总结
Streamlit 自动处理 Web 界面,使得创建交互式应用变得非常简单,只需少量的 Python 代码即可实现。这个示例展示了如何快速创建一个功能性 Web 应用,而不需要担心 HTML、CSS 或 JavaScript 的复杂性。通过使用 Streamlit,开发者能够专注于应用的业务逻辑,而不必被技术细节所困扰。