streamlit으로 로그인 페이지 만들기

2025. 8. 11. 19:04·데이터 분석/03. streamlit

로그인 페이지 만들기

익숙한 화면이죠 ㅎㅎ 오늘은 인풋과 버튼을 이용해서 로그인 페이지를 만들어보겠습니다.

인풋은 아이디와 비밀번호 입력창이고, 버튼은 로그인 부분입니다

 

1. 아이디 및 비밀번호 생성

import streamlit as st

# 기본 페이지 제목
st.title("떼껄룩 러버 로그인 페이지")

# 아이디어와 비밀번호 입력칸 만들기

# 아이디 입력
user_id = st.text_input("아이디")

# 비밀번호 입력
password = st.text_input("비밀번호", type='password')

st.write("입력한 아이디", user_id)
st.write("입력한 비밀번호", password)

📌 text_input() 인자 설명

  • 첫 번째 인자 → 레이블(Label): 입력칸 위에 표시되는 제목
    : 위치 인자이므로 반드시 첫 번째에 입력해야 함
  • 두 번째 인자 → 초기값(Default Value): 입력칸에 처음 표시되는 값
    : 초기값은 반드시 넣을 필요 없음 (선택 사항)

 

실행을 하면 아래와 같은 페이지가 만들어집니다.

 

2. 로그인 버튼 생성

if st.button("로그인"):
    st.write("로그인 버튼이 눌렸습니다!")

3. 입력값 검증(간단한 로그인 체크)

조건문(중첩if문)을 사용해서 구조를  설정했습니다.

  • 중첩 id문 개념
더보기

파이썬에서는 id문 안에  또 if문을 넣을 수 있습니다.

if 조건A:
    if 조건B:
    	실행문1
        # 조건A와 조건B 둘 다 True일 때 실행
    else:
    	실행문2
        # 조건A는 True, 조건B는 False일 때 실행

 

  • 조건A를 먼저 검사 → False면 내부는 아예 실행 안 함
  • 조건A가 True일 때만 조건B를 검사
  • 조건B가 True면 실행문1, 아니면 실행문2 실행

 

  • 로그인 실행 흐름
더보기
if st.button("로그인"):  # (조건A) 버튼 클릭 여부
    if user_id == "admin" and password == "1234":  # (조건B) 계정 확인
        st.success("로그인 성공!")
    else:
        st.error("아이디 또는 비밀번호가 올바르지 않습니다.")

시나리오 1: 버튼 안 눌림

  1. st.button("로그인") → False
  2. 첫 번째 if문에서 막힘 → 아래 내용 전혀 실행 안 됨

시나리오 2: 버튼 눌림 + 아이디/비번 맞음

  1. st.button("로그인") → True
  2. 두 번째 if 실행: user_id == "admin" and password == "1234" → True
  3. st.success() 실행 → "로그인 성공!" 초록 박스 표시

시나리오 3: 버튼 눌림 + 아이디/비번 틀림

  1. st.button("로그인") → True
  2. 두 번째 if 실행: user_id == "admin" and password == "1234" → False
  3. else 실행 → st.error() → 빨간 박스 표시

 

if st.button("로그인"):
	if user_id == "admin" and password == "1234":
    	st.success("로그인 성공!")
    else:
    	st.error("아이디 또는 비밀번호가 올바르지 않습니다")

앞서 배운 함수에서 콜아웃 기억나시나요?

st.success()는 초록, st.error()는 빨강을 적용했습니다.

 

이제  st.session_state를 사용해서 로그인 상태 유지 기능을  추가해 볼건데요

그 전에 st.session_state가 뭔지 알아가도록 하겠습니다 

다음글~~

'데이터 분석 > 03. streamlit' 카테고리의 다른 글

두번째 레슨, streamlit 문법 알아보기  (3) 2025.08.09
첫번째 레슨, streamlit 실행 및 종료와 argument  (3) 2025.08.09
streamlit으로 점심 추천 웹앱 만들기  (2) 2025.08.07
[Streamlit] BMI계산기  (8) 2025.08.06
'데이터 분석/03. streamlit' 카테고리의 다른 글
  • 두번째 레슨, streamlit 문법 알아보기
  • 첫번째 레슨, streamlit 실행 및 종료와 argument
  • streamlit으로 점심 추천 웹앱 만들기
  • [Streamlit] BMI계산기
Growth DA Log
Growth DA Log
Growth DA Log 님의 블로그 입니다.
  • Growth DA Log
    Growth DA Log님의 블로그
    Growth DA Log
  • 전체
    오늘
    어제
    • 분류 전체보기 (125)
      • TIS_COMPANY (6)
      • 코딩 테스트 (61)
        • 01. Python (3)
        • 02. SQL (58)
      • 데이터 분석 (53)
        • 01. BigQuery (9)
        • 02. GA4 (1)
        • 02-1. GA4를 더 잘 다루기 위한 마케팅 개.. (5)
        • 03. streamlit (5)
        • 04. Git (12)
        • 05. 데이터 엔지니어링 (3)
        • 06. 데이터 모델링 (11)
        • 07. Excel (0)
        • 08. Tableau (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ROW_NUMBER
    streamlit
    이행성
    AARRR
    DENSE_RANK
    쿼리테스트
    Reset
    tableaubootcamp
    revert
    rank
    코드잇스프린트후기
    코딩테스트
    윈도우함수
    git
    tableau
    cross_join
    SQL
    코테
    프로그래머스
    solvesql
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Growth DA Log
streamlit으로 로그인 페이지 만들기
상단으로

티스토리툴바