Pythonのdecoratorを使う。

ケースとしてログインしたユーザーにだけ、見せたい情報があって、それ以外の人が訪れた場合は、ログインしてくださいみたいなメッセージを表示する時にdecoratorは便利。

def login_required(func):
    def inner(*args,**kwargs):
        if request.method == "GET":
            if session.get("current_user") is None:
                flash(u"ログインしてください")
                return redirect("/")
            else:
                return func(*args,**kwargs)
            return func(*args,**kwargs)
    return inner

使い方

@app.route("/secret")
    @login_required
    def secret():
        pass

Related Contents

Pickup Contents