gpt4 book ai didi

python - 如何在 Pyramid 中包含 HTTPNotFound 错误中的链接?

转载 作者:行者123 更新时间:2023-12-01 05:46:50 25 4
gpt4 key购买 nike

我的网站的一部分是 wiki 引擎。当页面不存在时,我想提供一个自定义 404 错误页面,其中包含用于创建新页面的链接。此自定义 404 应该仅在失败的 wiki 页面 View 的上下文中出现。

为了实现此逻辑,我只需返回(而不是引发)一个 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 中很可能已经存在这样的对象

最佳答案

Pyramid 中的“Not Found” View 接受与常规 View 相同的谓词。

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 }}关闭字符串的自动转义。

关于python - 如何在 Pyramid 中包含 HTTPNotFound 错误中的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15812127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com