Python string.format与css标记冲突:{}';s

Python string.format与css标记冲突:{}';s,python,html,python-2.7,Python,Html,Python 2.7,这是我在html模板中替换变量的方法 a1 = '<html><title>{0}</title><body>{1}</body></html>' vars = ['test', 'test'] output = a1.format(*vars) 替代办法 由于您混合了HTML和Python代码,我建议您切换到普通的模板引擎 示例使用 创建模板HTML文件,留下适当的“占位符”: 这将打印: <html>

这是我在html模板中替换变量的方法

a1 = '<html><title>{0}</title><body>{1}</body></html>'
 vars = ['test', 'test']
 output = a1.format(*vars)
替代办法

由于您混合了HTML和Python代码,我建议您切换到普通的模板引擎

示例使用

创建模板HTML文件,留下适当的“占位符”:

这将打印:

<html>
<head>
    <title>My Title</title>
</head>
<body>
    <p>My Text</p>
</body>
</html>

我的头衔
我的文字


只需使用双大括号将其转义即可

a1 = """div.test{{ 
 bla;
}}"""

您可以使用Alecxe所说的模板,也可以将格式设置与词汇表一起使用

a1 = '<html><title>%(title)s</title><body>%(body)s</body></html>'
vars = {'title': 'test', 'body': 'test'}
output = a1 % vars
a1='%(标题)s%(正文)
vars={'title':'test','body':'test'}
输出=1%变量

你应该使用合适的模板引擎。小心XSS漏洞。你有时间解决像这样的问题吗?你应该使用专门设计的工具来做你想做的事情。你可以使用双大括号,比如
{{}
100%同意@SLaks,知道双卷发,但我无法克服我试图遵循的原则:)
<html>
<head>
    <title>My Title</title>
</head>
<body>
    <p>My Text</p>
</body>
</html>
a1 = """div.test{{ 
 bla;
}}"""
a1 = '<html><title>%(title)s</title><body>%(body)s</body></html>'
vars = {'title': 'test', 'body': 'test'}
output = a1 % vars