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

相关推荐
weelinking2 小时前
【产品】12_接入数据库——让数据永久保存
jvm·数据库·python·react.js·数据挖掘·前端框架·产品经理
石山代码3 小时前
ArrayList / HashMap / ConcurrentHashMap
java·开发语言
程序大视界3 小时前
【Python系列课程】Python正则表达式(下):环视、命名分组与日志实战
开发语言·python·正则表达式
TickDB3 小时前
美股行情 API 接入避坑:REST 快照、WebSocket 推送、盘前盘后数据的边界
人工智能·python·websocket·行情数据 api
枫叶v.4 小时前
Agent 分层存储架构设计:从记忆方法到中间件选型
开发语言·python
水兵没月4 小时前
逆向实战小记——某ToB商城网站分析学习
python·网络爬虫
程序员小远4 小时前
Python自动化测试框架及工具详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
sleven fung5 小时前
MinerU与BabelDOC与KTransformers与OpenAI API库
开发语言·python·ai·langchain
小毛驴8505 小时前
spring-boot-maven-plugin,maven-compiler-plugin 功能对比
java·python·maven
萤萤七悬5 小时前
【Python笔记】AI帮实现CLI工具-使用argparse.ArgumentParser接收命令参数
开发语言·笔记·python