[python] Flask에서 로그인/로그아웃 기능 구현하기
Flask는 파이썬으로 웹 어플리케이션을 구축하는 데 사용되는 경량화된 프레임워크입니다. 웹 애플리케이션에 로그인 및 로그아웃 기능을 구현하는 것은 매우 중요한데요. 세션을 사용하여 이러한 기능을 구현할 수 있습니다. 이 글에서는 Flask를 사용하여 간단한 로그인/로그아웃 기능을 구현하는 방법에 대해 설명하겠습니다.
필수 패키지 설치
먼저 Flask 로그인/로그아웃 기능을 구현하기 위해 필요한 패키지를 설치해야 합니다. 다음 명령어를 사용하여 필수 패키지를 설치합니다.
pip install Flask
로그인/로그아웃 기능 구현하기
로그인
먼저, 사용자가 로그인하려고 시도할 때 사용자 이름과 비밀번호를 확인해야 합니다. 이 후 성공하면 사용자의 정보를 세션에 저장합니다. Flask에서는 session 객체를 사용하여 이를 구현할 수 있습니다. 다음은 간단한 로그인 기능을 구현하는 예제입니다.
from flask import Flask, session, request, redirect, url_for
app = Flask(__name__)
app.secret_key = 'your_secret_key'
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
# 사용자 이름과 비밀번호 확인
# 성공하면 사용자 정보를 세션에 저장
if login_success:
session['username'] = request.form['username']
return redirect(url_for('index'))
return '''
<form method="post">
<p><input type=text name=username>
<p><input type=password name=password>
<p><input type=submit value=Login>
</form>
'''
로그아웃
로그아웃은 세션에서 사용자 정보를 제거하는 과정으로 간단히 구현할 수 있습니다. 다음은 간단한 로그아웃 기능을 구현하는 예제입니다.
@app.route('/logout')
def logout():
# 세션에서 사용자 정보 제거
session.pop('username', None)
return redirect(url_for('index'))
마치며
이제 Flask를 사용하여 간단한 로그인/로그아웃 기능을 구현하는 방법에 대해 알아보았습니다. 세션을 이용하여 사용자의 정보를 저장하고 제거함으로써 사용자 인증 기능을 쉽게 구현할 수 있습니다. 이러한 기능을 보다 확장하고 보안성을 갖추도록 개선하는 것도 중요한 과제일 것입니다.
참고 자료: Flask 세션 문서, Flask Quickstart