Python+Streamlit实现登录页 Streamlit 是一个开源的 Python 库,专为数据科学家和机器学习工程师设计,用于快速构建交互式 Web 应用。
其核心功能与特点包括: 1.快速原型开发 2.交互式数据展示 3.极简开发 4.实时更新 5.内置组件 6.无前端依赖 7.轻量部署
登录页 step1:C:\Users\wangrusheng\PycharmProjects\FastAPIProject1\hello.py
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:运行终端
streamlit run hello.py
step3:打开浏览器
end