Is it possible not to use Flask decorators?
Question:
I don’t know why, but I don’t like decorators. Can I use
def load_user():
if "user_id" in session:
g.user = db.session.get(session["user_id"])
app.before_request(load_user)
instead of
@app.before_request
def load_user():
if "user_id" in session:
g.user = db.session.get(session["user_id"])
?
Answers:
A decorator returns a new function, which the @decorator
syntax assigns to the function being defined. Without using that syntax you need to reassign the function name.
def load_user():
if "user_id" in session:
g.user = db.session.get(session["user_id"])
load_user = app.before_request(load_user)
I don’t know why, but I don’t like decorators. Can I use
def load_user():
if "user_id" in session:
g.user = db.session.get(session["user_id"])
app.before_request(load_user)
instead of
@app.before_request
def load_user():
if "user_id" in session:
g.user = db.session.get(session["user_id"])
?
A decorator returns a new function, which the @decorator
syntax assigns to the function being defined. Without using that syntax you need to reassign the function name.
def load_user():
if "user_id" in session:
g.user = db.session.get(session["user_id"])
load_user = app.before_request(load_user)