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

相关推荐
小柯南敲键盘1 分钟前
跨马翻译:跨境电商批量图片翻译与视频字幕一站式工具
人工智能·python·音视频
Poo_Chai8 分钟前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库
瑞码空间15 分钟前
Java 图形界面(GUI)完整知识点手册
java·开发语言·图形界面·swing
卷无止境38 分钟前
FastAPI Guard 全解析,从概念到工程落地的实战指南
后端·python
卷无止境42 分钟前
FastAPI Users 全面解析:概念、原理与工程实战
后端·python
小努蛋1 小时前
linux编译openresty异常问题,lua_cjson.c:706:5: 错误: ‘for‘ 循环初始化声明只在 C99 或 C++ 模式下允许
开发语言·lua·openresty
qz_Serene1 小时前
C++:类和对象(上)
开发语言·c++
COOLMO研究AI1 小时前
Python 如何在 AI 接口中实现请求幂等性:防止重复提交与重复扣费
人工智能·python·php
CTA量化套保1 小时前
新手学量化,先做能复查的小流程
人工智能·python
西安景驰电子2 小时前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php