본문 바로가기
데이터 시각화 및 애플리케이션 개발

[Python] Streamlit으로 웹 애플리케이션 개발하기

by 바다의 공간 2024. 6. 9.

이 전에는 FastAPI로 백앤드쪽을 구현해보았고 이번에는 streamlit을 이용하여 프론드단쪽으로 구현해볼 수 있는 

프로그램인 streamlit이라는걸 이용해서 웹페이지를 간단하게 구현해보는 것을 배웠습니다.

1. Streamlit

- 파이썬으로 데이터 분석을 위한 웹앱 등을 쉽게 개발할 수 있게 도와주 라이브러리

-간단한 코드로 웹 애플리케이션을 만들고 빠르게 프로토타입을 구축하고 시각적으로 공유하기 위해 사용합니다.

- https://streamlit.io/

-Gradio, Voila, Binder 등과 유사합니다.

 

 

Streamlit • A faster way to build and share data apps

Streamlit is an open-source Python framework for data scientists and AI/ML engineers to deliver interactive data apps – in only a few lines of code.

streamlit.io

2. 설치

파이참기준

settings-프로젝트 선택 -> 인터프립터-> 플러스 -> streamlit 설치

혹은

pip install streamlit 을 터미널에서 설치하면 됩니다.

 

3. 확인 

설치 확인 및 데모 확인
streamlit hello

를 친다면 아래처럼 웹페이지가 나오게 됩니다.

4.실행

streamlit run app.py

터미널 종료

터미널 끄기
ctrl+c

 


5. 파일 생성을 활용한 사용법 익히기

파일이름은 app.py로 생성했고

streamlit을 임포트해주고 title과 write를 적어주었습니다.

st.title을 쓰게되면 h태그처럼 제목으로 나오게 되는걸 볼 수 있고, 

st.write 조그만하게 글자를 쓸 수 있다는것을 알 수 있습니다.


#제목

"""
# 여기는 제목
## 여기는 작은 제목
- 첫번째
- 두번째
- 세번째
"""

#텍스트 문자입력

text = st.text_input("문자입력")
st.write(text)

 


#체크박스

selected = st.checkbox("개인정보 사용에 동의하시겠습니까?")
if selected:
    st.success("동의했습니다!")

 

 


#자바스크립

market = st.selectbox('시장', ('코스닥','코스피','나스닥'))
st.write(f'selected market: {market}')


options = st.multiselect('종목',['카카오','네이버','삼성','lg'])
st.write(', '.join(options))


st.metric(label='카카오', value='30,000원', delta="-1000 원")