使用streamlit_feedback获取输出数据遇空值问题求助
解决streamlit_feedback反馈为空的问题
以下是具体排查和修复步骤:
替换
print()为Streamlit前端输出方法
Streamlit的脚本重跑机制下,print()的内容只会显示在运行脚本的终端里,不会出现在网页上。要在前端看到反馈内容,改用st.write(feedback)或st.json(feedback)。升级streamlit-feedback到最新版本
旧版本组件可能存在返回值异常,执行以下命令更新:pip install --upgrade streamlit-feedback用Session State持久化反馈数据
每次交互Streamlit都会重新执行整个脚本,提交反馈后页面刷新会重置变量。把反馈存入st.session_state避免丢失:import streamlit as st from streamlit_feedback import streamlit_feedback # 初始化session state存储 if "user_feedback" not in st.session_state: st.session_state.user_feedback = None st.session_state.user_feedback = streamlit_feedback( feedback_type="thumbs", optional_text_label="[Optional] Please provide an explanation", ) if st.session_state.user_feedback: st.write("提交的反馈内容:") st.json(st.session_state.user_feedback)直观调试方法
在脚本中添加st.write("当前反馈变量值:", feedback),直接在网页上查看变量状态,比终端print()更高效。如果仍为空,检查组件是否被其他页面元素覆盖,或是否有代码触发了不必要的页面重跑。
内容的提问来源于stack exchange,提问作者Varun G
相关产品推荐
相关产品推荐

