这让我发疯了,因为它应该很简单,但我肯定缺少一些 Python 怪癖。我有一个装饰器,我正在尝试将其应用于 Flask 路由,但由于某种原因,我的 views.py 中的装饰器似乎都没有被加载。
装饰器.py
def admin_required(func):
"""Require App Engine admin credentials."""
@wraps(func)
def decorated_view(*args, **kwargs):
if users.get_current_user():
if not users.is_current_user_admin():
abort(401) # Unauthorized
return func(*args, **kwargs)
return redirect(users.create_login_url(request.url))
return decorated_view
视图.py
@admin_required
@blueprint.route('/')
def index():
return render_template('index.html')
没有调用装饰器admin_required
函数(加载 index.html 时没有重定向),我不知道为什么。