我正在使用具有不同观点的金字塔。我想知道是否可以将视图作业的部分“委托”到另一个视图(另一个路径)。
例如:
http://localhost:6543/sample_project/testruns/testrun001/report.html?action=edit
=> delegate to:
http://localhost:6543/sample_project/testruns/testrun001/report.json
我正在使用的观点:
# report:
@view_config(context=Root, route_name='report_route')
def report_view(context, request):
...
if 'edit' in request.GET.getall('action'):
# TODO: delegate to code_view
???
...
# render report from report.json
# editor:
@view_config(context=Root, route_name='report_edit_route')
@view_config(context=Root, route_name='code_route')
def code_view(context, request):
....
答案 0 :(得分:1)
您可以直接调用视图,他们只是不会通过将permission
和其他此类参数应用于视图的金字塔路由器机制。但是,如果你试图打电话,你已经知道了这些事情。
实际上,您可能只想将常用功能重构为一个单独的函数,然后您的每个视图都可以将部分工作委托给。