当前位置: 首页 > article >正文

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

一、简单介绍

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

https://streamlit.io/icon-default.png?t=O83Ahttp://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.py

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

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


http://www.kler.cn/news/313057.html

相关文章:

  • 大数据新视界 --大数据大厂之AI 与大数据的融合:开创智能未来的新篇章
  • Git入门学习(1)
  • HTTP中的Cookie与Session
  • pandoc自定义过滤器
  • 小程序构建npm失败
  • WPF 所有的控件和每个控件的主要作用和应用场景
  • 25届计算机专业毕设选题推荐-基于python+Django协调过滤的新闻推荐系统
  • 数学辅导微信小程序--论文ppt源码调试讲解
  • 执行网络攻击模拟的 7 个步骤
  • 注册建造师执业工程规模标准(公路工程铁路工程通信与广电工程民航机场工程港口与航道工程)
  • (c语言+数据结构链表)项目:贪吃蛇
  • 使用LangGPT提示词让大模型比较浮点数
  • 一天认识一个硬件之连接线
  • word-break和word-wrap
  • 实战Redis与MySQL双写一致性的缓存模式
  • 【4.4】图搜索算法-BFS和DFS两种方式解岛屿数量
  • WPF DataGrid 赋值与修改
  • Spring Boot利用dag加速Spring beans初始化
  • 无人机黑飞打击技术详解
  • 页面关键路径渲染详解
  • Python中使用Scikit-learn进行线性回归分析的实用指南
  • API应用安全风险倍增,F5助企业赢得关键安全挑战
  • esp32s3 NVS空间读写操作
  • Java 每日一刊(第13期):this super static
  • 【Redis入门到精通三】Redis核心数据类型(List,Set)详解
  • Qt 中 `QTimer`定时器的使用方法详解
  • 蓝禾,汤臣倍健,三七互娱,得物,顺丰,快手,游卡,oppo,康冠科技,途游游戏,埃科光电25秋招内推
  • Java并发集合框架:高效多线程数据访问
  • Flask 实现用户登录功能的完整示例:前端与后端整合(附Demo)
  • ubuntu 20.04 ‘Wired Unmanaged‘ 网络无法配置解决方法