본문 바로가기
Python/Flask Server

Flask에서 Session 사용하기

by leehii 2022. 7. 19.

----------flask.py----------

 

from flask import Flask, render_template, request, session

 

app = Flask (__name__)

app.secert_key = 'session key값'

 

@app.route('/main') :

def main() :

  if 'id' in session :

    user_id = session['id']

    return render_template ('main.html')

  else :

    return render_template('login.html')

 

 

@app.route('/main') :

main 실행

 

def main() :

  if 'id' in session :

-->> id, key값으로 세션이 있으면
메인 페이지로 이동




-->> id, key값으로 세션이 없으면
로그인 페이지로 이동

    user_id = session['id']

    return render_template ('main.html')

  else :

    return render_template('login.html')

 

@app.route('/login', method=['GET', 'POST'])

def login() :

  if request.method == 'POST' :

    session['id'] = request.form['id']

    return render_template('main.html')

  else :

    return render_template('login.html')

@app.route('/login', method=['GET', 'POST'])

login실행

def login() :

  if request.method == 'POST' :

form으로 받은 값인 id를 
session에 저장하기

    session['id'] = request.form['id']

    return render_template('main.html')

  else :

 

    return render_template('login.html')

 

 

if __name__ ==  "__main__" :

  app.run()

 

 

----------login.html----------

<div>

  <form action="" method="POST"

    <input type = "text" palceholder="id" name = "id">

    <label for = "아이디"> id </label>

    <input type = "text" palceholder="pw" name = "pw">

    <label for = "비밀번호">pw </label>

    <button type = "submit"  id="login">로그인</button>

  </form> 

</div>

 

----------main.html----------

<body>

  {% if session["id"] %}

  <p> ID는 {{ session["id"] }} </p>

  {% endif %}

</body>