如何在使用web.py从模板生成HTML时保留字符串中的换行?

0 投票
1 回答
845 浏览
提问于 2025-04-17 16:24

我正在使用 web.py 来通过模板生成 HTML 页面。

这个 HTML 模板大概是这样的:

$def with (scene)

...

<p id="descriptions">
    $scene.descriptions[scene.status]
</p>

我想从描述文件中放入的一些字符串里包含换行符,像这样:

example_scene = (
"""Status 1 - Line 1
Status 1 - Line 2
Status 1 - Line 3""",
"""Status 2 - Line 1
Status 2 - Line 2
Status 2 - Line 3""",
)

但是当它生成 HTML 页面时,这些行却连在一起,变成了这样:

状态 1 - 行 1状态 1 - 行 2状态 1 - 行 3

而不是像这样:

状态 1 - 行 1

状态 1 - 行 2

状态 1 - 行 3

如果我在 Python 里加一个 \n 来表示换行,它没有任何效果;如果我加一个 <br /> 来表示 HTML 的换行,它就会直接把这些字符显示出来,变成这样:

状态 1 - 行 1<br />状态 1 - 行 2<br />状态 1 - 行 3

有没有办法保留这些换行呢?

1 个回答

0

Web.py 是一个用于处理网页的工具,它会自动对 HTML 进行“转义”,也就是把一些特殊字符转换成安全的格式,以防止网页被恶意攻击。如果你想关闭这个功能,可以修改你的模板代码:

$:scene.descriptions[scene.status]
 ^-- add this thing

撰写回答