使用 Flask 使路由只能在调试模式下访问

2023-12-07

我有很多只希望在调试模式下访问的路由。是否有装饰器或其他东西允许我执行此操作,或者我必须完全注释/删除代码吗? 例子:

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

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():
    ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Flask 使路由只能在调试模式下访问 的相关文章

随机推荐

  • 将另一个类作为类的静态属性

    阅读下面的示例 但不要过多关注EventEmitter请继承 它只是显示了class syntax 我意识到这个例子是不正确的 ES2015 因为没有这样的东西static class陈述 在 ES2015 中实现这样的功能最简洁的语法方式
  • html5中如何对输入时间采取步骤和限制?

    我需要自定义数据输入7 to 23 hours并采取10 minute步骤在input time就像下面的例子 input time gt gt gt 07 10 07 20 07 30 22 40 22 50 23 00 请帮我 您需要使
  • Go 中按空格分割字符串?

    给定一个输入字符串 例如 word1 word2 word3 word4 在 Go 中将其拆分为字符串数组的最佳方法是什么 请注意 可以有any每个单词之间的空格或 unicode 间距字符数 在Java中我只会使用someString t
  • PHP/MySQL 多级菜单

    我正在尝试使用 PHP 创建动态多级菜单 从 MySQL 数据库获取数据 我已经设法用以下格式在 php 数组中订购菜单项 Array 1 gt Array id gt 1 ubicacion gt top a nivel gt 1 par
  • VBA xmlhttprequest循环而不关闭连接

    我正在 VBA 中使用 xmlhttp 连接到 API 问题是我需要使用相同的 API 链接多次创建循环 唯一的区别是我发送了不同的 JSON 字符串 是否可以仅打开一次连接并发送标头和身份验证 然后多次发送数据并接收响应 主要目的是提高代
  • 有没有办法保存最大 1 MB 的“消息”集合并将结果写入 JSON/CSV 文件

    我有一个阻塞队列 它不断通过某些应用程序获取消息 现在在 asp net 应用程序中 我尝试使用该队列并将输出写入 CSV JSON 文件 在这里 我想保存最多 1MB 的消息 这些消息从阻塞队列接收 然后将其写出 现在再次保存 1MB 的
  • 如何在一个适配器上应用多个过滤器?

    我有一个 listView 和一个搜索字段 它调用我的适配器的 getFilter filter keyword 函数 它工作得很好 但我想添加另一个过滤器来搜索 listViews 对象的不同标签 所以我的适配器需要两个过滤器 对此最好的
  • IntelliJ 的嵌入式终端无法正确加载我的 Fish shell 配置

    IntelliJ 中的 Fish 配置未正确加载 并且我看到有关路径未正确设置的警告 set Warning PATH entry set Did you mean set PATH PATH 因此 IntelliJ 似乎能够获取位于 co
  • C# 导出到excel

    这是将数据导出到现有 xls 工作表的最佳方式 我需要支持很多版本的excel 如果我使用 Visual basic 我将使用 CreateObject Excel application 代码来完成我需要的操作 C 中的等价物是什么 我希
  • AnyLogic 中的系统动力学 - 斐波那契序列 [关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我在 AnyLogic 中有一个系统动力学模型 我试图在其中对斐波那契序列进行建模 然而 由于某种原因 我的结果与预期不同 代替 1 1 2 3 5 8 13 I get 1 2 1379
  • 如何在重命名后找到存储库的新位置

    如果用户将存储库重命名为foo bar git to foo baz git通过 GitHub 的 UI 我如何通过 API 检测到这一点 目前 如果我像这样调用 API 我会收到 404 GET repos foo bar 如何找到新的存
  • 使用正则表达式根据用户名的最后一个字母更改文本

    我希望根据用例更改用户名的结尾 在将运行的语言系统中 名称结尾取决于其使用方式 因此需要定义名称的所有结尾并定义它们的替换 建议使用 gsub 正则表达式在字符串中搜索和替换 根据用户名的最后一个字母更改文本 name surname gs
  • 在 python 中加载 DLL 时出错,不是有效的 win32 应用程序 [重复]

    这个问题在这里已经有答案了 我正在尝试在 python 中加载 DLL 来调用函数 import ctypes from ctypes import dsusb ctypes WinDLL c python27 dsusb dll 我的堆栈
  • Windows 上 R 中的 UTF-8 支持

    由于Windows10添加了新功能 Beta 使用Unicode UTF 8支持全球语言 我认为R可以将语言环境转换为UTF 8 但是 当我尝试将系统区域设置更改为 UTF 8 时 Sys setlocale locale Japanese
  • 我可以使用什么 SQL 从我的付款数据中检索计数?

    计数标准 按学校服务类型按月 年对每所学校的学生人数 通过唯一的学生 ID 进行索引 进行 真实 计数 我目前正在使用 MS Access 我需要能够提取具有与下面的示例数据类似的数据的数据库的计数 每一行都是一个付款观察 样本数据 Stu
  • 用于文件上传的 javascript/flash 库,具有文件大小限制和进度条

    有没有用于此目的的 主流 库 普遍传播 维护良好 有记录等 我发现了这些 使用闪光灯 上传 版本不多 最新为 12 2010 没有文档 SWF上传 最新版本 03 2010 文档 奇特上传 看起来有问题 php文件上传器 看起来很重量级 而
  • 在 Teradata 中满足阈值后,将一列数字分为 30 个组

    考虑代表 事件之间的时间 的列 5 40 3 6 0 9 0 4 5 18 2 4 3 2 我想将它们分成 30 个桶 但桶会重置 期望的结果 0 1 1 1 1 1 1 1 1 2 2 2 2 2 这是因为 当我们累计到 30 时 我们会
  • 3D 应用程序中的 JavaFx 2D 部分

    我编写的应用程序有一个小问题 我想要有一个 3D 字段 并在右侧有一个包含 2D 组件 如按钮 的工具栏 我尝试简单地将这些组件添加到我的根组中 但是无法读取文本 并且它们与所有其他组件一起移动 那么 如何区分这两个区域呢 可能有两个场景
  • 如何更新项目中的 sbt?

    我正在 Coursera 上学习关于 scala 的课程 他们给我布置了作业 我下载了项目 有build sbt在里面 我尝试过sbt终端 Eclipse 和 Idea 中的命令没有任何作用 终端中的消息显示 info Compiling
  • 使用 Flask 使路由只能在调试模式下访问

    我有很多只希望在调试模式下访问的路由 是否有装饰器或其他东西允许我执行此操作 或者我必须完全注释 删除代码吗 例子 debug only app route send data