我网站的一部分是wiki引擎。当页面不存在时,我想提供一个自定义404错误页面,其中包含用于创建新页面的链接。只应在失败的Wiki页面视图的上下文中看到此自定义404。
为了实现这个逻辑,我只返回(不引发)HTTPNotFound()对象,其中包含一个包含新页面创建链接的自定义消息。不幸的是链接被转义了。 如何强制html链接显示为链接?
修改: 我找到了Python Pyramid & Chameleon templating language escapes html
的解决方案class Literal:
def __init__(self, s):
self.s = s
def __html__(self):
return self.s
这种对象很可能已经存在于Pyramid
中答案 0 :(得分:2)
Pyramid中的Not Found视图接受与常规视图相同的谓词。
config.add_route('wiki', '/wiki/{page}')
@notfound_view_config()
def notfound_view(exc, request):
""" Generic notfound view for the entire site."""
return exc
@notfound_view_config(route_name='wiki')
def wiki_notfound_view(exc, request):
""" Specific notfound for urls matching the wiki pattern."""
return exc
就你的逃避问题而言,这是特定于你的模板语言。在mako中你可以使用${ msg | n }
,在jinja2中你可以使用{{ msg | safe }}
来关闭字符串上的自动转义。