auto-sync: 2026-06-07 13:50:55
This commit is contained in:
@@ -56,6 +56,11 @@ def _load_template(name: str) -> str:
|
||||
return content
|
||||
|
||||
|
||||
def _escape_braces(value: str) -> str:
|
||||
"""转义花括号防止 format_map 报错"""
|
||||
return str(value).replace("{", "{{").replace("}", "}}")
|
||||
|
||||
|
||||
def render_template(name: str, variables: Dict[str, str]) -> str:
|
||||
"""渲染模板,将 {variable} 占位符替换为实际值。
|
||||
|
||||
@@ -69,7 +74,9 @@ def render_template(name: str, variables: Dict[str, str]) -> str:
|
||||
渲染后的文本
|
||||
"""
|
||||
template_text = _load_template(name)
|
||||
safe_vars: Dict[str, str] = defaultdict(str, variables)
|
||||
# 先对所有变量值转义花括号,防止 format_map 报错
|
||||
escaped_vars = {k: _escape_braces(v) for k, v in variables.items()}
|
||||
safe_vars: Dict[str, str] = defaultdict(str, escaped_vars)
|
||||
return template_text.format_map(safe_vars)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user