gpt4 book ai didi

python - 单个 Pyramid 实例上的多个域和子域

转载 作者:太空狗 更新时间:2023-10-29 17:14:45 28 4
gpt4 key购买 nike

我希望在单个 Pyramid 实例上拥有多个域和子域。但是,我似乎找不到任何关于它的文档。最后question引用了一个信息很少且没有示例的词汇表。你们有没有任何示例或可以指导我获得更好的文档?

最佳答案

Pyramid 只是一个 WSGI 应用程序。这意味着它依赖于 HTTP_HOST 环境键(由 Host header 设置)来确定应用程序的主机。这都是相对的。要点是 Pyramid 对它可以接受的内容没有限制,因此世界是你的牡蛎,你可以将它设置为将内容限制在你喜欢的各个域。这当然要从您的网络服务器配置为提供给您的应用程序的主机开始。

假设您正在使用 URL 分派(dispatch),您可能想要设计一些自定义路由谓词来检查 request.host 值是否符合您的需要。从该谓词返回 False 将阻止该路由将请求匹配到该主机。

这是一个很大的话题,所以如果您提供一些更具体的信息可能会有所帮助。例如,由于 Pyramid 是相对的,您可能希望从“example.com”生成任何 URL 以将某人重定向到“sub.example.com”,这将需要通过预生成器完成。

def pregen(request, elements, kw):
kw['_app_url'] = 'http://sub.example.com'
return elements, kw

def req_sub(info, request):
return request.host.startswith('sub')

config.add_route('sub_only', '/',
custom_predicates=(req_sub,),
pregenerator=pregen)
config.add_route('foo', '/foo')
config.add_view(view, route_name-'foo')

def view(request):
# redirect the user to "http://sub.example.com", regardless of whether
# request.host is "example.com" or "sub.example.com"
return HTTPFound(request.route_url('sub_only'))

关于python - 单个 Pyramid 实例上的多个域和子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7607807/

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