Python,导入配置文件的最佳实践

标签 python import flask

我正在创建一个 Flask Web 应用程序,并且有一个存储一些配置的文件。然而,一些内部模块需要引用位于上面两个目录的config.py。我正在使用相对导入,我认为这是一种不好的做法并且不灵活。

结构:

workspace:
    app:
      database:
         __init__.py
         database.py
    config.py

在我的database.py 文件中,我将配置导入为import ...config。 有更好的办法吗?

最佳答案

您应该检查 Flasky 中的配置是如何管理的。基本上,config.py 驻留在应用程序根目录中,就像在您的项目中一样。

然后在您的应用程序文件夹中将应用程序作为包启动,即通过添加 __init__.py 文件。

__init__.py 包含您的 config 的导入语句:

从配置导入配置

然后你可以使用Flask blueprints发起对您的配置的调用。还可以看看如何larger applications在 Flask 中管理。

总而言之,需要对现有源进行大约四处更改:

  1. 通过创建 __init__.py 文件将您的应用程序打包。
  2. 将导入语句添加到根app 目录中的__init__.py
  3. 在您的模块目录(在本例中为 database/)中创建一个 __init__.py 文件,以允许该模块在较大的 Flask 应用程序中用作蓝图。 [注意,在这种情况下,模块是指应用程序的模块化部分; 到 python 模块;我知道很困惑。]
  4. 返回app/__init__.py导入蓝图,即
from .database import database as db_blueprint
app.register_blueprint(db_blueprint)

这需要一些跑腿工作,但如果您有兴趣编写更复杂的应用程序并(当然)组织您的项目,那么这真的很棒。

关于Python,导入配置文件的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35587457/

相关文章:

typescript - 使用 wasm 将模块导入并编译到 webpack 中

javascript - 什么会导出 JavaScript/Node.JS 文件?

jquery - Flask如何知道要查看哪个Python文件?

iPhone - 自动检索 XCode 4 中丢失的文件

sql-server - 升级到 Python 3.6 和 SQL Server 2016 后出现 Pymssql 错误 20017

python - Pythonanywhere 上 flask 中 send_file() 的替代方案?

python - Scrapy - 从一个链接获取多个网址

python - 根据另一个数组中的 argmax 索引从数组中选择值

python - 排名聚合: Merge local subrankings into global ranking

python - 卷积层(CNN)在keras中如何工作?