学习一下用streamlit快速开发界面
简单做个个人信息页面
def create_personal_info_page():
"""个人信息页面"""
st.header("👤 个人信息")
# 简历选择或创建
if not st.session_state.resumes:
st.info("📝 请先创建一份新简历")
with st.form("create_resume"):
st.subheader("创建新简历")
col1, col2 = st.columns(2)
with col1:
name = st.text_input("姓名 *")
email = st.text_input("邮箱 *")
with col2:
phone = st.text_input("电话 *")
address = st.text_input("地址")
if st.form_submit_button("创建简历", type="primary"):
if name and email and phone:
resume_id = f"{name.replace(' ', '_').lower()}_{datetime.now().strftime('%Y%m%d_%H%M%S')}"
st.session_state.resumes[resume_id] = {
'personal_info': {
'name': name,
'email': email,
'phone': phone,
'address': address,
'summary': '',
'linkedin': '',
'github': ''
},
'work_experiences': [],
'project_experiences': [],
'internship_experiences': []
}
st.session_state.current_resume_id = resume_id
st.success(f"✅ 简历创建成功!ID: {resume_id}")
st.rerun()
else:
st.error("❌ 请填写所有必填字段")
else:
# 简历选择
resume_options = list(st.session_state.resumes.keys())
current_resume = st.selectbox(
"选择要编辑的简历",
resume_options,
index=resume_options.index(st.session_state.current_resume_id) if st.session_state.current_resume_id in resume_options else 0
)
st.session_state.current_resume_id = current_resume
# 个人信息编辑表单
resume_data = st.session_state.resumes[current_resume]
personal_info = resume_data.get('personal_info', {})
with st.form("personal_info_form"):
st.subheader("📝 编辑个人信息")
col1, col2 = st.columns(2)
with col1:
name = st.text_input("姓名 *", value=personal_info.get('name', ''))
email = st.text_input("邮箱 *", value=personal_info.get('email', ''))
linkedin = st.text_input("LinkedIn", value=personal_info.get('linkedin', ''))
with col2:
phone = st.text_input("电话 *", value=personal_info.get('phone', ''))
address = st.text_input("地址", value=personal_info.get('address', ''))
github = st.text_input("GitHub", value=personal_info.get('github', ''))
summary = st.text_area("个人简介", value=personal_info.get('summary', ''), height=100)
if st.form_submit_button("💾 保存个人信息", type="primary"):
if name and email and phone:
st.session_state.resumes[current_resume]['personal_info'] = {
'name': name,
'email': email,
'phone': phone,
'address': address,
'summary': summary,
'linkedin': linkedin,
'github': github
}
st.success("✅ 个人信息保存成功!")
else:
st.error("❌ 请填写所有必填字段")
在魔搭社区写好app.py后部署到MCP即可