728x90

Python에서 Flask로 session 를 사용해서 Login 및 Logout하자.

 

※ 소스

from flask import Flask, session, request, redirect, url_for
app = Flask(__name__)

# Set the secret key to some random bytes. Keep this really secret!
#app.secret_key = b'_5#y2L"F4Q8z\n\xec]/'
app.secret_key = b'test'
@app.route('/')
def index():
    if 'username' in session:
        return f'''Logged in as {session["username"]}<br>
        <a href="logout">logout</a>
      '''
    return  redirect(url_for('login'))

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return '''
        <form method="post">
            <p><input type=text name=username>
            <p><input type=submit value=Login>
        </form>
    '''

@app.route('/logout')
def logout():
    # remove the username from the session if it's there
    session.pop('username', None)
    return redirect(url_for('index'))

if __name__ == '__main__':
    app.run(debug=True)  

 

※ 실행

py login.py

 

브라우즈에서 http://127.0.0.1:5000 열며 로그인 페이지로 이동한다.

로그인하며 메인화면에 입력한 문자 표시하고 로그아웃 링크가 보인다.

로그 아웃하며 로그인 화면으로 이동한다.

 

 

728x90
반응형

+ Recent posts