1

是否有一种全球性的方法可以在金字塔中使用某些 ip 重定向用户?现在,我们必须在逐个视图的基础上进行重定向。

例如,每个视图都会为每个带有“xyx.xxx.xx”IP 地址的人访问的页面返回“我的自定义消息”。如果您没有该 IP 地址,则该页面将正常加载。

@view_config(renderer="json", route_name="myview")
def myview(request):
    redirector(request)
    ......
def redirector(request):
    if request.remote_addr.startswith('66.'): return viewA(request)
    else: return 'my custom message'

有没有办法我们可以在金字塔中全局重定向(除了通过.htaccess)?

谢谢!

4

1 回答 1

3

您可以使用's系统 Pyramidevents

@subscriber('pyramid.events.NewRequest')
def newrequest(event):
    request = event.request
    if request.remote_addr.startswith('66.'):
        raise SomeException('my custom message')

@view_config(context=SomeException, renderer='string')
def exc_view(exc, request):
    return exc.message
于 2013-08-09T00:06:29.510 回答