Streamlit:使用 Python 快速开发 Web 应用
一、简单介绍
Streamlit 是一个开源 Python 库,官网地址:
https://streamlit.io/http://StreamlitStreamlit 是一个开源的 Python 框架,旨在为数据科学家和 后端工程师们提供只需几行代码即可创建动态数据应用的功能。
让没有任何前端基础的人,使用 Python 开发 Web 应用,没有复杂的配置,没有复杂的语法,开箱即用,拎包入住。
安装Streamlit
pip install streamlit
二、项目案例
1.菜单小工具
#代码保存文件名为streamlit.py
import streamlit as st
from streamlit_option_menu import option_menu# 设置Streamlit应用程序的标题
st.set_page_config(page_title="app name", layout="wide")menu1="菜单1"
menu2="菜单2"with st.sidebar:menu = option_menu("菜单", [menu1, menu2], icons=['house', "list-task"], menu_icon="cast", default_index=0)def main():if menu == menu1:st.subheader(f"{menu1}")if menu == menu2:st.subheader(f"{menu2}")if __name__ == '__main__':main()
运行方式:在Python编译器Pycharm打开终端,进入到代码的目录下,输入
streamlit run streamlit.py
接下来会自动跳转到网页上面,或者复制下面的网页地址
2.模拟HTTP请求工具
#代码保存文件名为streamlit.pyimport requests
import streamlit as st
import datetime
import json# 设置标题栏
st.set_page_config(page_title="HTTP请求模拟工具", page_icon="🚀")
st.title("HTTP请求模拟工具")st.markdown("""---### 功能点:1. 发送HTTP请求:用户输入请求URL、请求方法和请求头信息,工具对请求进行封装后发送HTTP请求。2. 查看响应结果:工具接收到服务器响应后,将响应结果展示给用户以便于查看。3. 关注请求细节:用户可以查看请求发送的细节信息,包括请求发送时间、请求耗时、请求大小等。---""")
# st.markdown("""
# # HTTP请求模拟工具
# ### 功能点:
# 1. 发送HTTP请求:用户输入请求URL、请求方法和请求头信息,工具对请求进行封装后发送HTTP请求。
# 2. 查看响应结果:工具接收到服务器响应后,将响应结果展示给用户以便于查看。
# 3. 关注请求细节:用户可以查看请求发送的细节信息,包括请求发送时间、请求耗时、请求大小等。
# ---
# """)url = st.text_input("请输入**请求的URL地址:**",value="https://e.weather.com.cn/p/site/aqifc1h?areaid=101010300")
method = st.selectbox("请求方式", ["GET", "POST", "PUT", "DELETE"])
headers = st.text_input("请求头信息")
if st.button("发送请求"):if headers:try:eval(headers)except Exception as e:st.error("请求头信息格式有误,请确认输入的是字典格式,例如:{'key1': 'value1', 'key2': 'value2'}")headers ==Noneelse:headers = Nonetry:start_time = datetime.datetime.now()response = requests.request(method=method,url=url, headers=headers,timeout=5)end_time = datetime.datetime.now()time_count= (end_time - start_time).total_seconds()size= len(response.content)st.subheader("请求细节:")st.write(f"请求方法:{method}")st.write(f"请求URL:{url}")st.write(f"请求头:{headers}")st.write(f"请求发送时间:{start_time}")st.write(f"请求耗时:{time_count}")st.write(f"请求大小:{size} bytes")st.subheader("响应结果:")try:pretty_json = json.loads(response.text)st.json(pretty_json)except:st.text(response.text)# st.write(f"{response.status_code} {response.reason}")
except Exception as e:st.error(f"请求发送失败:{e}")# # 模拟HTTP请求工具
# def main():
# # 模拟HTTP请求工具
# st.subheader("模拟HTTP请求工具")
# # 模拟HTTP请求工具
# method = st.selectbox("请求方式", ["GET", "POST", "PUT", "DELETE"])
# url = st.text_input("请求地址")
运行方式:在Python编译器Pycharm打开终端,进入到代码的目录下,输入
streamlit run streamlit.py
接下来会自动跳转到网页上面,或者复制下面的网页地址