Состояние сеанса сбрасывается в многостраничном приложении Streamlit.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Состояние сеанса сбрасывается в многостраничном приложении Streamlit.

Сообщение Anonymous »

Я создаю многостраничное приложение Streamlit, и у меня возникли проблемы с сохранением состояния сеанса при переключении между страницами. Моя главная страница называется mainpage.py и имеет что-то вроде следующего:

Код: Выделить всё

import streamlit as st

if "multi_select" not in st.session_state:
st.session_state["multi_select"] = ["abc", "xyz"]
if "select_slider" not in st.session_state:
st.session_state["select_slider"] = ("1", "10")
if "text_inp" not in st.session_state:
st.session_state["text_inp"] = ""

st.sidebar.multiselect(
"multiselect",
["abc", "xyz"],
key="multi_select",
default=st.session_state["multi_select"],
)

st.sidebar.select_slider(
"number range",
options=[str(n) for n in range(1, 11)],
key="select_slider",
value=st.session_state["select_slider"],
)
st.sidebar.text_input("Text:", key="text_inp")

for v in st.session_state:
st.write(v, st.session_state[v])
Далее у меня есть еще одна страница под названием «anotherpage.py» в подкаталоге «страницы» с таким содержимым:

Код: Выделить всё

import streamlit as st

for v in st.session_state:
st.write(v, st.session_state[v])
Если я запущу это приложение, изменю значения элементов управления и переключусь на другую страницу, я увижу, что значения элемента управления сохраняются и печатаются. Однако, если я вернусь на главную страницу, все вернется к исходным значениям. По какой-то причине st.session_state очищается.
Кто-нибудь знает, как сохранить значения в состоянии сеанса? Я использую Python 3.11.1 и Streamlit 1.16.0

Подробнее здесь: https://stackoverflow.com/questions/749 ... tipage-app
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»