首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hydralit,一个流畅的多页面应用的 Python 库!

Python Web开发中,Streamlit是一个很受欢迎的框架,不过它默认是单页面应用。要是想做个导航菜单,切换不同的页面,就有点麻烦了。今天咱们来看看Hydralit这个库,它完美解决了这个问题,让你轻松构建多页面应用,还能整出特别漂亮的界面效果。

安装配置

装这个库特别简单,一行命令搞定:

pip install hydralit

不过要注意,它依赖Streamlit,得先把Streamlit装上:

pip install streamlit

基础用法

来看个最简单的例子:

import streamlit as st

from hydralit import HydraApp

# 创建应用实例

app = HydraApp(title='酷炫的多页面应用')

# 主页内容

def home():

st.title('欢迎来到主页')

st.write('这是咱们的主页内容')

# 关于页面

def about():

st.title('关于我们')

st.write('这是关于页面的内容')

# 注册页面

app.add_app(“主页”, app=home)

app.add_app(“关于”, app=about)

# 运行应用

app.run()

小贴士:

每个页面都是一个独立的函数

页面标题不能重复

run()方法要放在最后调用

页面切换效果

Hydralit支持好几种炫酷的切换效果:

app = HydraApp(

title='多页面应用',

nav_horizontal=True,

navbar_theme={“txc_inactive”: “#FFFFFF”},

navbar_animation=True

)

nav_horizontal设置为True就是横向导航栏,False就是侧边栏。navbar_theme可以自定义导航栏的样式,navbar_animation开启过渡动画。

登录认证

要是想加个登录功能,也很简单:

import streamlit as st

from hydralit import HydraApp

from hydralit.hydra_auth import HydraAuth

class MyAuth(HydraAuth):

def validate_credentials(self, username, password) -> bool:

# 这里写验证逻辑

if username == “admin” and password == “123456”:

return True

return False

app = HydraApp(title='需要登录的应用')

app.add_auth(MyAuth)

小贴士:

密码最好加密存储

可以自定义登录页面样式

支持记住登录状态

页面加载动画

给页面加个加载动画,体验更好:

from hydralit.loader import LoaderSpinner

def my_page():

with st.spinner('数据加载中...'):

# 这里放耗时操作

import time

time.sleep(2)

st.success('加载完成!')

app.add_loader_app(my_page, LoaderSpinner)

页面切换的时候就会显示一个转圈圈的动画,特别酷。

样式美化

Hydralit还能自定义主题:

app = HydraApp(

title='炫酷应用',

favicon=“”,

hide_streamlit_markers=True,

use_navbar=True,

navbar_sticky=True,

navbar_theme={

“txc_inactive”: “#FFFFFF”,

“menu_background”: “#4f8bf9”,

“txc_active”: “#F0F2F6”,

“option_active”: “#FFFFFF”

}

)

favicon可以设置网页图标,navbar_theme能改导航栏颜色。hide_streamlit_markers可以隐藏Streamlit的水印。

小贴士:

颜色值支持HEX和RGB格式

navbar_sticky设置导航栏是否固定

主题可以按需切换

底下给大家整理了几个实用场景:

数据分析面板

后台管理系统

可视化大屏

多步骤表单

代码写完了记得用这个命令运行:

streamlit run app.py

建议大家先从简单的开始玩,慢慢加功能,别上来就整复杂的。写代码最重要的就是多练习,遇到问题就查文档,折腾几次就熟练了。

推 荐 阅 读

点赞分享

让钱和爱流向你

  • 发表于:
  • 原文链接https://page.om.qq.com/page/ORKnt7RNKAWYou0GskXxdAYw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券