Streamlit:使用 Python 快速开发 Web 应用

猪猪爱学习 2024-10-20 16:03:01 阅读 69

一、简单介绍

Streamlit 是一个开源 Python 库,官网地址:

https://streamlit.io/

icon-default.png?t=O83A

http://StreamlitStreamlit 是一个开源的 Python 框架,旨在为数据科学家和 后端工程师们提供只需几行代码即可创建动态数据应用的功能。

让没有任何前端基础的人,使用 Python 开发 Web 应用,没有复杂的配置,没有复杂的语法,开箱即用,拎包入住。

安装Streamlit

<code>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")code>

menu1="菜单1"code>

menu2="菜单2"code>

with st.sidebar:

menu = option_menu("菜单", [menu1, menu2],

icons=['house', "list-task"],

menu_icon="cast", default_index=0)code>

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请求工具 

<code>#代码保存文件名为streamlit.py

import requests

import streamlit as st

import datetime

import json

# 设置标题栏

st.set_page_config(page_title="HTTP请求模拟工具", page_icon="🚀")code>

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")code>

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 ==None

else:

headers = None

try:

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

 接下来会自动跳转到网页上面,或者复制下面的网页地址



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。