我有一堆只希望在调试模式下访问的路由。是否有装饰器或其他允许我执行此操作的东西,或者我必须完全注释/删除代码? 示例:
@debug_only
@app.route("/send_data/<data>", methods=["GET", "POST"])
def send_data(data):
return jsonfy("{'data': data}")
答案 0 :(得分:2)
Flask为此没有提供任何内置装饰器。编写一个装饰器,检查current_app.debug
,如果它不在调试模式下,则返回404。
from functools import wraps
from flask import current_app, abort
def debug_only(f):
@wraps(f)
def wrapped(**kwargs):
if not current_app.debug:
abort(404)
return f(**kwargs)
return wrapped
@app.route("/debug")
@debug_only
def debug_info():
...