后备视图考虑下面的金字塔应用:定义在遍历
from pyramid.config import Configurator
class Foo(dict):
pass
def make_root(request):
return {'foo': Foo()}
def foo(request):
return request.subpath
def bar(request):
return {"whoami": "bar", "subpath": request.subpath}
def start(global_config, **settings):
config = Configurator(settings=settings)
config.set_root_factory(make_root)
config.add_view(foo, context=Foo, renderer="json")
config.add_view(bar, name="bar", context=Foo, renderer="json")
return config.make_wsgi_app()
此应用程序使用穿越和响应/foo
和/foo/bar
就好了。我在想,如果,遍历/foo/booarns
的时候,有一些地方在穿越之前决定返回一个404像一个默认挂钩,或后备观点:
config.add_view(any_other, name="*default*", context=Foo, ...)
然后,这一观点将被调用时路径的第二个组件尚未绑定到任何其他视图,但在相同的上下文中,路径组件仍可用为request.view_name
和request.subpath
。
确实。它从来没有发生过,因为它很好地隐藏在API参考中。非常感谢。 – C2H5OH 2012-07-17 20:35:59