Compare commits

3 Commits

Author SHA1 Message Date
leo
5ebee8d6ec 更新 'README.md' 2024-11-11 20:27:34 +08:00
leo
f1f74f3067 update name 2023-12-31 18:39:19 +08:00
leo
2f90a83737 增加效果 缓存settings 2023-12-31 18:35:26 +08:00
6 changed files with 32 additions and 18 deletions

View File

@@ -3,8 +3,21 @@ import os
import streamlit as st
from loguru import logger
from app.core import settings
st.set_page_config(
page_title="Leo's Demo App",
page_icon="🧊",
layout="wide",
initial_sidebar_state="expanded",
)
@st.cache_resource
def get_settings():
from app.core import settings
return settings
settings = get_settings()
pages = os.listdir(os.path.join(settings.BASE_DIR, 'pages'))
pages = [{
'filename': page,
@@ -12,13 +25,6 @@ pages = [{
} for page in pages if page.endswith('.py') and page != '__init__.py']
pages.sort(key=lambda x: x['filename'])
st.set_page_config(
page_title="Leo's Cool App",
page_icon="🧊",
layout="wide",
initial_sidebar_state="expanded",
)
def open_selected_file():
with open(st.session_state.page_file['filepath'], 'r', encoding='utf-8') as f:
@@ -30,6 +36,7 @@ def save_file_content():
with open(st.session_state.page_file['filepath'], 'w', encoding='utf-8') as f:
logger.debug(f"save: <\n{st.session_state.file_content}\n>to file {st.session_state.page_file['filepath']}")
f.write(st.session_state.file_content)
st.toast('保存成功!', icon='🎉')
def new_file():

View File

@@ -3,3 +3,8 @@
## 1. 项目介绍
通过 streamlit的多页面应用, 实现多demo的动态展示
实际上是可以在web页面里, 编写streamlit页面代码, 直接查看效果.
用streamlit页面编辑新的streamlit页面, 就简单称为自举了(可能不太恰当)

10
pages/first_demo.py Normal file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
import streamlit as st
st.write('# Hello World!')
st.link_button("Go to gallery", "https://streamlit.io/gallery")
for i in range(5):
st.write(f"{i + 1}. this is line {i + 1}")

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
import streamlit as st
st.write('Hello World!')
for i in range(1, 13):
st.write(f"{i}. this is line {i}")

View File

@@ -1 +1 @@
streamlit run --server.port 5280 --server.enableCORS false ./main.py
streamlit run --server.port 5280 --server.enableCORS false ./Home.py

View File

@@ -1,2 +1,2 @@
#!/usr/bin/env bash
streamlit run --server.port 80 --server.enableCORS false ./main.py
streamlit run --server.port 80 --server.enableCORS false ./Home.py