我应该将密钥放在 Flask 中的哪里?

2024-02-29

在读的时候exploreflask.com https://exploreflask.com/configuration.html,我了解到最好的做法是使用两个不同的配置文件,一个用于开发,一个用于生产。我不明白是否将密钥放在开发或生产配置中。

实例文件夹的私有性质使其非常适合定义您不希望在版本控制中公开的密钥。这些可能包括您应用程序的密钥或第三方 API 密钥。

我认为秘密密钥不应该被共享。我应该将密钥放在开发配置或生产配置中,还是应该为每个配置使用不同的密钥?


在开发配置中放置一个密钥,该密钥将提交到存储库。这对于开发人员来说很方便,因为他们不必生成一个即可开始运行应用程序。在生产中,使用具有唯一密钥的生产配置(永远不会提交到存储库)。生产配置应该覆盖开发配置。

app = Flask(__name__, instance_relative_config=True)
# default value during development
app.secret_key = 'dev'
# overridden if this file exists in the instance folder
app.config.from_pyfile('config.py', silent=True)

如果您没有办法在生产中添加私有文件(例如在 Heroku 上),另一个选择是使用环境变量。如果设置了该变量,它将覆盖默认值。

app.secret_key = os.environ.get('SECRET_KEY', 'dev')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我应该将密钥放在 Flask 中的哪里? 的相关文章

随机推荐

  • Anorm 中的原子 MySQL 事务

    我编写了一个简单的命中计数器 它使用 Anorm 更新 MySQL 数据库表 我希望交易是原子的 我认为最好的方法是将所有 SQL 字符串连接在一起并执行一个查询 但这对于 Anorm 似乎是不可能的 相反 我将每个选择 更新和提交放在单独
  • 如何在 PyTorch 中保存模型架构?

    我知道我可以通过以下方式保存模型torch save model state dict FILE or torch save model FILE 但两者都不保存模型的架构 那么我们如何在 PyTorch 中保存模型的架构 就像创建一个 p
  • R CMD 氧气无法识别

    我刚刚尝试了 Roxygen 套餐 在 R 中 我可以运行 Roxygen Vignette 中的示例 但是在命令行中 R CMD roxygen未被识别为有效命令 当我跑步时R CMD help 我可以看到全部INSTALL check
  • 如何设置超时来中止工厂或服务内的 $http.get() ?

    我有以下方法getData url 在我的factory它使用 http get url 从 URL 获取数据 angular module az app factory WebServiceFactory function http q
  • 使用 ResumableJS 取消、中止和重试单个文件上传

    我已经成功地使用以下方法将多个文件分块上传到服务器可恢复JS http www resumablejs com 在上传过程中 用户可以看到整体上传进度和单个文件上传百分比 还可以暂停 恢复整个上传 我现在想要的是允许用户取消 中止单个文件上
  • 无法从没有窗口的视图中呈现弹出窗口

    这个错误说明什么 Popovers cannot be presented from a view which does not have a window 救了我一命的事情 if self view window nil popoverC
  • 如何读取浏览器中所有存储的 Cookie

    我只想读取浏览器中存储的所有 cookie 使用标准 Javascript API 我无法阅读它 但有没有一种方法可以读取所有 cookie 而不仅仅是通过我的网站注册的 cookie 浏览器安全会故意阻止这种情况 如果你能做到这一点 你就
  • 从代码运行测试时在 Eclipse 中显示 JUnit 视图

    当我在 Eclipse 中运行 Testclass 时 我会看到显示树结构以及测试是否成功的 JUnit 视图 如果我从代码开始测试 JUnitCore core new JUnitCore core run SimpleTests cla
  • MySQL语句选择特定列的最新条目

    我正在使用 MySQL 并且该表是使用以下架构创建的 CREATE TABLE example id INT UNSIGNED NOT NULL AUTO INCREMENT version INT UNSIGNED NOT NULL te
  • 如何加载离子段内的其他页面?

    任何人都知道如何加载离子段内的其他页面 我正在使用 ionic v4 我有三页试图在离子段内部显示 概况 疫苗接种 发育 我想将页面的功能分开以便于维护 这是孩子的详细信息页面 https i stack imgur com pta0M p
  • BOOST_FUSION_ADAPT_STRUCT 的限制

    我尝试过玩BOOST FUSION ADAPT STRUCT宏并尝试了一些天真的事情 例如使用 Fusion 打印任何任意结构 从此开始文档中给出的示例代码 http www boost org doc libs 1 55 0 libs f
  • 为什么 Bert Transformer 使用 [CLS] 令牌进行分类而不是对所有令牌进行平均?

    我正在对 bert 架构进行实验 发现大多数微调任务都将最终的隐藏层作为文本表示 然后将其传递给其他模型以进行进一步的下游任务 Bert 的最后一层如下所示 我们获取每个句子的 CLS 标记 图片来源 https jalammar gith
  • Windows编程对话框背景图片

    有没有什么好的教程或方法可以将背景图像添加到 Windows 对话框中 Something similar to this 我的资源文件 稍微修剪一下 include
  • VB 字符串中的转义双引号

    我使用了下面的代码来执行schtasks来自 VB6 的命令 执行时 如果文件夹包含空格 则忽略文件夹 例如 C program files test test exe 将被转换为 c program 我该如何解决这个问题 MyAppnam
  • 在圆圈上添加点击侦听器不起作用

    我正在尝试在地图上添加点击侦听器 这是我的代码 update
  • 为什么 SET DEFINE OFF 对冒号 (:) 字符不起作用?

    我有一个脚本试图通过 sqlplus 运行 在脚本的顶部 我设置了 SET DEFINE OFF 但是 当我运行它时 我收到此错误 SP2 0552 未声明绑定变量 CHANDAWALA 我相信这种情况正在发生 因为我有几个更新语句 其中在
  • Git 服务:我想要这么简单

    我想知道如何简单地通过 http 发布水星 http en wikipedia org wiki Mercurial的hg发球 在 Windows work 框中执行以下操作 git serve 然后在 Linux 机器上简单地执行 git
  • 如何复制/替换 DLL?

    我有一个实用程序 可以通过简单地复制 替换可执行文件来更新应用程序 现在 我有一些 DLL 文件也需要更新 然而 有时 Windows 不会让我替换它 因为有东西正在使用它 有时有太多东西使用该 DLL 我无法保证它会被解锁以供我替换它 目
  • CPU、内存使用、线程池使用 - ASP NET core 身份未确认的邮件用户删除处理 - 在应用程序中还是单独的应用程序?

    我想知道什么是更合适的解决方案 我需要实现机器人来检查和删除未经确认的注册用户 例如确认邮件发送后 7 天 如果用户未确认他 她的帐户 我想从数据库中删除该用户 我想了3种方法 直接在 ASP NET Core 应用程序中实现委托并将其运行
  • 我应该将密钥放在 Flask 中的哪里?

    在读的时候exploreflask com https exploreflask com configuration html 我了解到最好的做法是使用两个不同的配置文件 一个用于开发 一个用于生产 我不明白是否将密钥放在开发或生产配置中