最近Pythonのデコレータが理解できて、ログイン後のページ表示に使えるんじゃないかと思いついた。
Flaskを利用しているので、そこらへんを中心にググってみたらやはりありました。
pocooチームによるLogin Required Decoratorの実装
Login Required Decorator
とりあえず上記を元に実際に組んでみます。
from functools import wraps from flask import Flask app = Flask(__name__) def login_required(f): @wraps(f) def decorated_function(*args, **kwargs): if not is_login(): return 'dame dayo!' return f(*args, **kwargs) return decorated_function def is_login(): return False @app.route('/') def root_page(): return 'public!!' @app.route('/mypage') @login_required def my_page(): return 'private!!' if __name__ == '__main__': app.run(host='192.168.56.10')
/にアクセス
public!!
/mypageにアクセス
dame dayo!
これで目的達成。
functools.wrap()なんて初めて使った。
今度はここらへんを調べてみよう。