gpt4 book ai didi

python - 如何保护一些文件免受 Jinja 模板处理器的影响?

转载 作者:行者123 更新时间:2023-12-04 00:06:53 28 4
gpt4 key购买 nike

我正在使用 cookiecutter 创建一个 Tornado 项目,使用 this template (它有几个错误,因此您可能无法立即使用它)。我遇到了一个我不知道如何解决的问题:

jinja2.exceptions.TemplateSyntaxError: unexpected char '\\' at 124272
File "./{{cookiecutter.project_slug}}/static/swagger/lib/jsoneditor.min.js", line 10

我不确定,但我的印象是 cookiecutter正在尝试对 jsoneditor.min.js 进行 Jinja 处理,这是不应该发生的,因为该文件中的"template"不应该由 cookiecutter 处理。 ,它恰好包含与 Jinja 相同的转义字符正在使用。

可否告知 cookiecutter不处理某个目录内的文件?这可能是正确设置 cookiecutter 的问题。模板,但不确定如何指定。

最佳答案

默认情况下,cookiecutter 会尝试将每个文件作为 jinja 模板处理,如果您有一些看起来像 jinja 模板但只应该被视为文字的东西,则会产生错误的结果。从 cookiecutter 1.1 开始,可以告诉 cookiecutter 只复制一些文件而不将它们解释为 jinja 模板( documentation )。

为此,您必须添加 _copy_without_render键入 cookiecutter 配置文件 ( cookiecutter.json )。它需要一个正则表达式列表。如果文件名与正则表达式匹配,它将被复制而不是作为 jinja 模板处理。

例子

{
"project_slug": "sample",
"_copy_without_render": [
"*.js",
"not_rendered_dir/*",
"rendered_dir/not_rendered_file.ini"
]
}

这不会处理任何 javascript 文件(以 .js 结尾的文件),任何在 not_rendered_dir 中的文件而不是 not_rendered_file.inirendered_dir .他们只会被复制。

关于python - 如何保护一些文件免受 Jinja 模板处理器的影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39138386/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com