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

时间:2013-02-19 20:24:43

标签: python html templates python-2.7 web.py

我正在使用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,则它无效,如果我为HTML换行符添加<br />,则只包含以下字符:

  

状态1 - 第1行&lt; br /&gt;状态1 - 第2行&lt; br /&gt;状态1 - 第3行

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

1 个答案:

答案 0 :(得分:0)

Web.py是escaping the HTML。要关闭它,请更改模板代码:

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