在 Pyramid 视图中使用遍历

traversal

view context 争论。

def my_view(context, request):
    return render_view_to_response(context, request)

context 将是 resource 遍历找到的对象。配置视图响应的资源可以通过 @view.config 装饰者。

1from models import MyResource
2
3@view_config(context=MyResource)
4def my_view(context, request):
5    return render_view_to_response(context, request)

或通过 config.add_view ::

from models import MyResource
config = Configurator()
config.add_view('myapp.views.my_view', context=MyResource)

MyResource context 争论。

可选:使用接口

If your resource classes implement interfaces ,您可以通过界面配置视图。这是将视图代码与特定资源实现分离的一种方法。

 1# models.py
 2from zope.interface import implements
 3from zope.interface import Interface
 4
 5class IMyResource(Interface):
 6    pass
 7
 8class MyResource(object):
 9    implements(IMyResource)
10
11# views.py
12from models import IMyResource
13
14@view_config(context=IMyResource)
15def my_view(context, request):
16    return render_view_to_response(context, request)

也见