是否有一种全球方式可以将用户与金字塔中的某些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)?
谢谢!
答案 0 :(得分:3)
您可以使用 Pyramid
's events
system :
@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