小编rus*_*niv的帖子

flake8 没有在用户目录中获取全局配置文件

我在每个项目的 pipelinev 虚拟环境中安装了 flake8。

flake8 文档指出:

在命令行中设置的值具有最高优先级,然后是项目配置文件中的值,然后是用户目录中的值,最后是默认值。

根据文档我创建了两个 .flake8 文件:

  1. 在项目根目录中 - 用于每个项目配置
  2. /Users/rusl/.config/flake8/.flake8 - 用于全局配置

当我运行 flake8 时,它从本地文件中获取配置选项,但它完全忽略全局文件。

如何让 flake8 看到全局配置文件,这样我就不必在每个项目中重复一些配置选项?

python python-3.x flake8

5
推荐指数
2
解决办法
2388
查看次数

使用本地 ENV 文件的 BaseSettings 模型的 Pydantic 验证错误

我正在开发一个简单的 FastAPI 应用程序,并使用 Pydantic 来存储应用程序设置。

某些设置是从 Ansible 部署工具设置的环境变量填充的,但其他一些设置需要从单独的 env 文件中显式设置。

所以我有这个config.py

class Settings(BaseSettings):

    # Project wide settings
    PROJECT_MODE: str = getenv("PROJECT_MODE", "sandbox")
    VERSION: str

    class Config:
        env_file = "config.txt"
Run Code Online (Sandbox Code Playgroud)

我有这个config.txt

VERSION="0.0.1"
Run Code Online (Sandbox Code Playgroud)

因此project_modeenv var 是由部署脚本设置的,并且version是从 env 文件设置的。原因是我们希望在所有项目中保持部署脚本相似,因此任何自定义变量都从项目特定的环境文件中填充。

但问题是,当我运行该应用程序时,它失败并显示:

pydantic.error_wrappers.ValidationError: 1 validation error for Settings
VERSION
  field required (type=value_error.missing)
Run Code Online (Sandbox Code Playgroud)

那么如何从本地 ENV 文件填充 Pydantic 设置模型呢?

python pydantic fastapi

4
推荐指数
1
解决办法
2万
查看次数

如何将模板位置传递给 FastAPI 中的所有视图

我有一个 FastAPI Web 应用程序,我想在其中使用模板语言。现在,为了使用 jinja2,我必须通过设置模板变量来指示模板文件夹所在的位置,如下所示:

templates = Jinja2Templates(directory="templates")
Run Code Online (Sandbox Code Playgroud)

我还有几个用于不同页面和用途的视图文件,例如home.pyabout.pydb.py

如果我设置一个模板变量一次main.py,然后将其导入到视图文件中,如下所示:

from main import templates
Run Code Online (Sandbox Code Playgroud)

我收到各种循环导入错误。所以我必须在每个视图文件中单独设置一个模板变量,这不是最佳的。

如何设置模板位置一次main.py,然后使所有视图文件都知道该位置?

jinja2 fastapi

3
推荐指数
1
解决办法
923
查看次数

标签 统计

fastapi ×2

python ×2

flake8 ×1

jinja2 ×1

pydantic ×1

python-3.x ×1