0

我想在 turbogears abort 函数中使用一些 HTML 消息。

虽然名称不完全匹配(我使用 'tg.abort' 函数),但这是我找到的中止定义: abort

当前使用的代码:

from tg import abort
message="The following {} occured, this is due to {}, please visit this url : {}".format(error, reason, url)
abort(status_code=502, detail=message)

我想要这样的东西:

from tg import abort
message="""The following error occured : {}</br>
           The most probable reason would be {} </br>
           <a href="{}">Your solution might be found here</a>
           """.format(error, reason, url)
abort(status_code=502, detail=message)

我认为内容会自动转义。

从 abort 函数生成的 Html 页面,呈现如下内容:

<html>
 <head>
  <title>502 Bad Gateway</title>
 </head>
 <body>
  <h1>502 Bad Gateway</h1>
  Bad gateway.<br /><br />
The following error occured : hungry&lt;br/&gt;
The most probable reason would be : maybe you should eat &lt;/br&gt;
&lt;a href=&quot;http://dummyurl&quot;&gt;Your solution might be found here&lt;/a&gt;



 </body>
</html>

如果您对如何在不转义的情况下插入 html 代码有任何想法,我会非常感兴趣。此外,我真的很关注这里的中止方法,我知道我可以使用一些使用模板框架的专用页面(就像网站的其余部分一样)。

非常感谢。

问候

4

1 回答 1

0

错误消息实际上是由controllers/error.py应用程序中的代码公开的。因此,如果您想公开中止详细信息中的消息,您应该获取它并在ErrorController.

现在默认情况下在新的快速启动项目上完成此操作(请参阅https://github.com/TurboGears/tg2devtools/blob/master/devtools/templates/turbogears/%2Bpackage%2B/controllers/error.py_tmpl#L27)但它是未在旧版本上完成。

于 2016-01-02T21:20:19.240 回答