在 streamlit 中初始化 session_states 的问题

问题描述 投票:0回答:0

这是我的代码,虽然我初始化了会话状态,但我与它有冲突。

import streamlit as st

if "user_inputs" not in st.session_state:
    st.session_state["user_inputs"] = True

# Loop over the 8 questions
for i in range(8):
    # Get the question
    question = f'Question {i+1}'
    # Add it to the page
    st.subheader(question)
    
    # Create 3 checkbox options
    checkbox1 = st.checkbox('Option 1')
    checkbox2 = st.checkbox('Option 2')
    checkbox3 = st.checkbox('Option 3')
    
    # Save the checkbox inputs in the session state object
    
    st.session_state.user_inputs[f'{question}_checkbox_1'] = checkbox1
    st.session_state.user_inputs[f'{question}_checkbox_2'] = checkbox2
    st.session_state.user_inputs[f'{question}_checkbox_3'] = checkbox3
    
    # Create an integer input
    integer_input = st.number_input('Integer Input')
    
    # Save the integer input in the session state object
    st.session_state.user_inputs[f'{question}_integer_input'] = integer_input
    
# Create a slider
slider = st.slider('Slider', 0, 100)

# Save the slider value in the session state object
st.session_state.user_inputs['slider'] = slider

# Add a submit button
if st.button('Submit'):
    st.success('Form submitted!')

我尝试了不同的初始化方法,但它们没有用。我的意思是当我尝试 st.session_state.user_inputs = "test"st.session_state["user_inputs"] = "test" 之类的东西时,我又遇到了同样的错误:

错误是:

st.session_state 没有属性“user_inputs”。你忘了吗 初始化了吗?更多信息: https://docs.streamlit.io/library/advanced-features/session-state#initialization

我尝试创建一种形式,但收到重复错误。

session-state streamlit initializing
© www.soinside.com 2019 - 2024. All rights reserved.