mcpField
J
jinja2

jinja2

github.com/microsoft开发2.5k50 次安装1 天前更新
代码仓库

关于 jinja2

面向使用 Jinja2 渲染 HTML、邮件、配置文件和代码生成模板的开发者,提供实践指导。内容涵盖环境复用、模板组织及安全渲染。

主要功能

  1. 01复用环境配置
  2. 02文件与包模板加载器
  3. 03模板继承与自定义过滤器
  4. 04自动转义与沙箱指导
  5. 05开发时检查未定义变量

适用场景

  1. 01渲染 HTML 并降低 XSS 风险
  2. 02在模板间复用布局
  3. 03处理不可信模板定义
  4. 04生成配置文件或代码

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/microsoft/debugpy --skill jinja2

安装后在 Claude Code 中输入/jinja2确认已加载。

详细介绍

技能:Jinja2

使用 Jinja2 渲染模板的最佳实践,包括环境、过滤器、自动转义和安全性。

适用场景

使用 Jinja2 渲染模板时应用此技能——例如 HTML 页面、电子邮件、配置文件和代码生成。

环境

  • 创建一个 jinja2.Environment(loader=..., autoescape=...),并重复使用。
  • 文件模板使用 FileSystemLoader,已安装的包使用 PackageLoader。
  • 对 HTML 模板启用 autoescape=True,以防止 XSS。

模板

  • 使用 {{ variable }} 输出内容,使用 {% if/for/block %} 控制流程。
  • 使用模板继承({% extends 'base.html' %})复用布局。
  • 定义自定义过滤器,以便重复使用转换逻辑。

安全性

  • 渲染 HTML 时,始终启用 autoescape=True。
  • 对不可信模板使用 SandboxedEnvironment。
  • 切勿将用户输入作为模板代码渲染——只能将其作为模板数据。
  • 关闭自动转义时,显式使用 |e 过滤器。

注意事项

  • 不要直接使用 Template(string)——这会绕过环境的加载器和设置。
  • 留意未定义变量错误——开发期间使用 undefined=StrictUndefined。
  • 避免在模板中编写复杂逻辑——让模板专注于展示。

评论

支持 Markdown