如果可以通过谓词确定要执行的操作,则可以使用不同的渲染器多次添加视图。例如
@view_config(route_name='route', xhr=True, renderer='json')@view_config(route_name='route', renderer='r.mako')@view_config(route_name='route', request_param='fmt=json', renderer='json')def r(request): # ...
或者,您可以通过
request.override_renderer = 'b.mako'以下方式手动覆盖渲染器:
http://docs.pylonsproject.org/projects/pyramid/zh-
CN/1.3-branch/narr/renderers.html#overriding-a-renderer-at-
runtime
或者,您可以仅通过视图中的
render和
render_to_response方法显式呈现响应,因为
renderer如果
Response从视图中返回对象,则将忽略该参数。
请注意,
xhr第一个示例中的谓词应足以检查ajax请求。还请注意,如果您不想这样做,则不必对两者都使用相同的视图,只需视情况而定。



