반응형
플라스크, 로그인/로그아웃 및 세션 처리 예제 코드
플라스크의 session 기능을 이용한 페이지 처리 예제입니다.
# 로그인 세션과 로그아웃
from flask import Flask, request, render_template, redirect, url_for, session
import dbdb
app = Flask(__name__)
app.secret_key = b'aaa!111/'
# 기본 도메인 주소 접속 처리
@app.route('/')
def index():
return '홈페이지'
# 로그인 이용자 확인 처리
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'GET':
return render_template('login.html')
else:
id = request.form['id']
pw = request.form['pw']
# id와 pw 검사
if id == 'abc' and pw == '1234':
session['user'] = id
return '''<script> alert("안녕하세요~ {}님");
location.href="/form" </script>'''.format(id)
else:
return "아이디 또는 패스워드를 확인 하세요."
# 로그아웃 처리하기 (session 제거)
@app.route('/logout')
def logout():
session.pop('user', None)
return redirect(url_for('form'))
# 로그인 사용자인지 세션에서 확인하고 처리
@app.route('/form')
def form():
if 'user' in session:
return render_template('test.html')
return redirect(url_for('login'))
# GET, POST 처리 예
@app.route('/method', methods=['GET', 'POST'])
def method():
if request.method == 'GET':
return 'GET 으로 전송이다.'
else:
num = request.form["num"]
name = request.form["name"]
return 'POST 이다. 학번은: {} 이름은: {}'.format(num, name)
# 실행 모드이면 플라스크 서버 실행
if __name__ == '__main__':
app.run(debug=True)
참고: wings2pc.tistory.com/entry/wings2pc.tistory.com/entry/%EC%9B%B9-%EC%95%B1%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%ED%94%8C%EB%9D%BC%EC%8A%A4%ED%81%ACPython-Flask-%EB%A1%9C%EA%B7%B8%EC%9D%B8login-%EC%B2%98%EB%A6%ACsession
반응형
'Flask' 카테고리의 다른 글
SQL 접속시 접속정보 별도 보관해서 사용하기(python) (0) | 2021.05.09 |
---|---|
플라스크 사이트, 레퍼런스 (Flask Site & Guide) (0) | 2021.05.03 |
파이썬, Flask 로그인과 세션(session) 예제 동영상 (0) | 2021.04.12 |
파이썬, 플라스크 Flask Get Post 예제 (0) | 2021.02.25 |
파이썬, Flask 기반의 헬로우월드 웹 페이지 만들기 (0) | 2021.02.21 |