3
这一直让我发疯,因为它应该是如此简单,但是我一定会有一些Python怪癖。我有一个装饰器,我试图应用于Flask路由,但由于某种原因,我的views.py中的装饰器似乎没有被加载。函数装饰器未被调用
decorators.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
views.py
@admin_required
@blueprint.route('/')
def index():
return render_template('index.html')
的admin_required
装饰功能不会被调用(index.html的加载没有重定向),并且我不能找出原因。
谢谢,我觉得这很简单(虽然我有点尴尬,我没有尝试过)。 –