Python+Streamlit实现登录页

Python+Streamlit实现登录页

Streamlit 是一个开源的 Python 库,专为数据科学家和机器学习工程师设计,用于快速构建交互式 Web 应用。

其核心功能与特点包括:

1.快速原型开发

2.交互式数据展示

3.极简开发

4.实时更新

5.内置组件

6.无前端依赖

7.轻量部署

登录页

step1:C:\Users\wangrusheng\PycharmProjects\FastAPIProject1\hello.py

python 复制代码
import streamlit as st

def main():
    """
    Creates a login page using Streamlit.
    """
    st.title("Logins")

    # Initialize session state for username and login status if they don't exist
    if 'username' not in st.session_state:
        st.session_state['username'] = ''
    if 'logged_in' not in st.session_state:
        st.session_state['logged_in'] = False

    # Function to handle login logic
    def login():
        """
        Handles user login.  For this example, authentication is simulated.
        """
        if st.session_state.username == "user" and st.session_state.password == "password":
            st.session_state.logged_in = True
            print(st.session_state.username)
            print(st.session_state.password)

            st.session_state['username'] = st.session_state.username #store username
        else:
            st.error("Invalid username or password")

    # Function to handle logout logic
    def logout():
        """Handles user logout"""
        st.session_state.logged_in = False
        st.session_state['username'] = ''

    # Show login form if not logged in
    if not st.session_state.logged_in:
        st.text_input("Username", key="username")
        st.text_input("Password", type="password", key="password")
        st.button("Login", on_click=login)
    # Show logout button if logged in
    else:
        st.write(f"Welcome, {st.session_state['username']}!")  # show user name
        st.button("Logout", on_click=logout)

if __name__ == "__main__":
    main()

step2:运行终端

bash 复制代码
 streamlit run hello.py

step3:打开浏览器

end

相关推荐
geovindu3 分钟前
java: Facade Pattern
java·开发语言·后端·外观模式·结构型模式
listening7774 分钟前
HarmonyOS 6.1 元服务深度优化:从“秒开”到“常驻”的极致体验
java·开发语言·spring
布朗克1686 分钟前
Go 入门到精通-29-测试与基准
开发语言·后端·golang·测试与基准
你驴我20 分钟前
WhatsApp Cloud API 速率限制下的令牌桶与退避策略实践
网络·后端·python
AC赳赳老秦23 分钟前
司法公开数据采集应用:OpenClaw 抓取裁判文书公开信息,批量整理同类参考案例
java·大数据·python·数据挖掘·数据分析·php·openclaw
格林威1 小时前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
小大宇1 小时前
Python 集成 Conda
开发语言·python·conda
还是奇怪2 小时前
Simon Willison 用 DSPy 优化 Datasette Agent 提示词:提示工程正在变成可测试的软件工程
java·开发语言·软件工程
初学者,亦行者2 小时前
利用Pyecharts绘制堆叠柱状图
python·信息可视化·数据分析
林泽毅2 小时前
PyTRIO:当强化学习不再需要本地GPU
人工智能·python·深度学习·机器学习