Сделать маршрут доступным только в режиме отладки с помощью фляги - PullRequest
1 голос
/ 17 апреля 2019

У меня есть несколько маршрутов, которые мне нужны только в режиме отладки. Есть ли декоратор или что-то, что позволяет мне это делать, или мне нужно полностью комментировать / удалять код? Пример:

@debug_only
@app.route("/send_data/<data>", methods=["GET", "POST"])
def send_data(data):
    return jsonfy("{'data': data}")

1 Ответ

3 голосов
/ 17 апреля 2019

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():
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...