English 中文(简体)
2. 具有多吨和功能的精炼会议
原标题:Streamlit session mgmt with multiple buttons and functions
  • 时间:2023-06-01 04:38:50
  •  标签:
  • streamlit

我写了一个功能,用户可以提供URL,并宣传分析纽芬兰语。 在强制使用ton子方面,触发了繁琐的职能。 如果成功,则向用户提供启动聊天工作的文本箱。 当用户向聊天提交投入时,履行分析功能,产出应写到屏幕上。

import streamlit as st
from streamlit_chat import message
import logging

# Custom functions

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

st.markdown("<h1>VTest</h1>", unsafe_allow_html=True)
st.sidebar.header("Input parameter")

def do_something(url):
    st.write("Calc Length")
    slen = len(url)
    return slen

def get_text():
    input_text = st.text_area("You:")
    return input_text

def ans(len,user_input):
    return user_input+" Test "+str(len)

if "analyze" not in st.session_state:
    st.session_state["analyze"] = False

if "submit" not in st.session_state:
    st.session_state["submit"] = False

with st.sidebar.form(key="my_form"):
    URL = st.text_input("Enter URL :")
    analyze_button = st.form_submit_button(label="Analyze")


if str(URL) == "":
    st.warning("Awaiting URL input in sidebar for chat.")

if analyze_button:
    st.session_state["analyze"] = not st.session_state["analyze"]
    if str(URL) != "":
        with st.spinner(
            "Patience ..."
        ):
            slen = do_something(URL)
            
            if slen>0 and st.session_state["analyze"]:
                user_input = get_text()
                submit = st.button("Submit")
                
                if user_input:
                    with st.form(key= my_form ):
                        submit_button = st.form_submit_button( Submit )
                        if submit_button:
                            response = ans(len,user_input)
                            st.write(response)


                else:
                    st.warning("Enter your question above")
            else:
                st.error(
                    f"The greatest teacher, failure is...
"
                )
                    

    else:
        st.sidebar.warning("Please provide URL ")
        raise Exception("You must provide a URL !")

预期行为:

用户点击提交信标时应当执行,答复应在屏幕上打印。

实际行为:

整页的重载,屏幕上有空白。 do死再次发生,不应发生。

问题回答

Buttons没有保留。 他们因被点击而返回,然后立即返回法勒。 因此,在纽特州内部的这种nes植被几乎不会带来适当的结果。

当点击提交纽特时,该页重载和现在的analyze button是假的。 因此,所有内容都以分析纽芬兰语为条件(包括提交纽芬兰语和此后所有材料)。

你们在届会中可以有国歌,将贵族的法典置于会议国的价值观之上,而不是直接由纽州决定。

Blog post describing button behavior and common strategies
Other posts about nested buttons:
creating a selectbox/file_uploader with a button in streamlit app
Why is my streamlit app s second radio disappearing when I change the default answer?
Values disappear after using button in streamlit

评论:证券交易所不允许我张贴链接,因为“坏代码格式”对所有its子都令人不安。





相关问题
Shell script “dvc pull” not working at Streamlit server

In my Streamlit app.py file, I used the code os.system("dvc pull") to load a .csv data file (labeled_projects.csv) from my Google service account (Google Drive), and it has been working well ...

How to reduce line spacing in bulleted list in Streamlit?

How do I reduce the line spacing between bullet points in st.markdown? Code st.markdown( - Item 1 ) st.markdown( - Item 2 ) st.markdown( - Item 3 ) Current Output (would like to reduce the space as ...

How can I fix streamlit groupby.transform error?

df1 = pd.DataFrame({ value : [1, np.nan, np.nan, 2, 3, 1, 3, np.nan, 3], name : [ A , A , B , B , B , B , C , C , C ]}) df2 = pd.DataFrame({ value : [1, np.nan, np.nan, 2, 3, 1, 3, np.nan, 3], ...

• 如何将申请页打印成国防军档案?

我下面的这个简单例子在@MathCatsAnd的帮助下创立。 每一页都有多个数据基,简而言之,每一页仅显示一个数据基。 我谨......

2. 具有多吨和功能的精炼会议

我写了一个功能,用户可以提供URL,并宣传分析纽芬兰语。 在强制使用ton子方面,触发了繁琐的职能。 如果成功,则向用户呈报......

f string to pass file path issue

I have a function which accepts a file path. It s as below: def document_loader(doc_path: str) -> Optional[Document]: """ This function takes in a document in a particular ...

热门标签