#python #flask
#python #flask
Вопрос:
У меня есть куча маршрутов, которые я хочу, чтобы они были доступны только в режиме отладки. Есть ли декоратор или что-то, что позволяет мне это делать, или я должен полностью комментировать / удалять код? Пример:
@debug_only
@app.route("/send_data/<data>", methods=["GET", "POST"])
def send_data(data):
return jsonfy("{'data': data}")
Ответ №1:
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():
...