在Streamlit组件章节中已经可以目的看出,如果想要在一个组件下面嵌套其它组件,可以使用with语句,如:
col1,col2 = st.columns(2)
with col1:
st.info("**This is colum1**")
with col2:
st.info("*This is colum2*")
先创建两列,然后分别在两列下显示是第几列。
在Streamlit中empty组件可以做为占位符,来消除一些控制信息。如当登录成功后希望登录信息消失,可以通过下面的方法
st.write('**用户登录**')
placeholder = st.empty()
with placeholder:
with st.form('Login'):
username = st.text_input('用户名:')
password = st.text_input('密码:',type='password')
submitted = st.form_submit_button('登录')
注意Streamlit界面显示控件的顺序是其声明的顺序,而不是其使用的顺序。如果将
st.write('**用户登录**')放在placeholder下面,则界面如下:
placeholder = st.empty()
st.write('**用户登录**')
with placeholder:
with st.form('Login'):
username = st.text_input('用户名:')
password = st.text_input('密码:',type='password')
submitted = st.form_submit_button('登录')
加入登录验证代码
st.write('**用户登录**')
placeholder = st.empty()
with placeholder:
with st.form('Login'):
username = st.text_input('用户名:')
password = st.text_input('密码:',type='password')
submitted = st.form_submit_button('登录')
if submitted == True:
if username == 'admin' and password == 'admin':
st.success(f'{username} logged in.')
else:
st.error(f'user name or password not correct')
如果输入正确登录信息
但是想要达到的效果是当登录成功后,登录页面消失。
这时只用在验证登录信息成功后加入placeholder.empty()即可达到目标效果