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

相关推荐
Once_day9 小时前
C++之《程序员自我修养》读书总结(1)
c语言·开发语言·c++·程序员自我修养
喜欢喝果茶.9 小时前
QOverload<参数列表>::of(&函数名)信号槽
开发语言·qt
亓才孓9 小时前
[Class类的应用]反射的理解
开发语言·python
努力学编程呀(๑•ี_เ•ี๑)9 小时前
【在 IntelliJ IDEA 中切换项目 JDK 版本】
java·开发语言·intellij-idea
小镇敲码人9 小时前
深入剖析华为CANN框架下的Ops-CV仓库:从入门到实战指南
c++·python·华为·cann
island131410 小时前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构任务的 Stream 调度机制
开发语言·人工智能·深度学习·神经网络
坚持就完事了10 小时前
Java中的集合
java·开发语言
摘星编程10 小时前
深入理解CANN ops-nn BatchNormalization算子:训练加速的关键技术
python
魔芋红茶10 小时前
Python 项目版本控制
开发语言·python
lili-felicity10 小时前
CANN批处理优化技巧:从动态批处理到流水线并行
人工智能·python