У меня есть две страницы: page1,py и page2.py в папке моих страниц. page1.py вызывает page2.py, поэтому я хочу скрыть page2.py из боковой панели/боковой навигации. Каков самый простой способ сделать это?
Рад поделиться более подробной информацией о своих попытках, но должен быть очень простой способ скрыть страницу. Или, если я могу переместить page2.py в подпапку на странице, а затем заставить page1.py вызвать его через st.switch_page("pages/subpages/page2.py"), это тоже будет работать, но кажется, что вы можете только переключать_страницу на что угодно находится в папке страниц.
В многостраничном приложении вы можете скрыть боковую панель, выполнив следующую процедуру.
.streamlit
в основной папке вашего приложения..streamlit
создайте файл config.toml
, содержимое этого файла следующее.[client]
showSidebarNavigation = false
Теперь, если вы хотите отобразить на боковой панели одну страницу, например страницу баскетбола, вы можете создать виджет ссылки на страницу и отобразить его на боковой панели.
app.py
import streamlit as st
st.header('Home')
# Sidebar navigation
st.sidebar.page_link('app.py', label='Home')
st.sidebar.page_link('pages/basketball.py', label='Basketball')
баскетбол.py
import streamlit as st
st.header('Basketball')
# Sidebar navigation
st.sidebar.page_link('app.py', label='Home')
st.sidebar.page_link('pages/basketball.py', label='Basketball')
Страница футбола не отображается.
Делайте все, что хотите, оптимизируйте и т. д., но проверьте, работает ли это.
Спасибо. Очень хорошо объяснено. Кроме того, мне пришлось поместить все это в функцию, чтобы я мог вызывать ее на каждой странице.