我有一个网址,称之为example.com,返回一个json格式的字符串。我希望能够传递一个参数,让我可以打印这个json,这样它更具可读性。我已经阅读了the docs,但有些事情并没有让我沉沦。 这就是我所拥有的:
# config
config.add_renderer('prettyprintjson', JSON(indent=4))
# view
@view_config(route_name='home',renderer='prettyprintjson')
def home(request):
if request.params.get('pretty') == 'true': return {'name':'Fred'} # pretty print
else: return {'name':'Fred'} # how do I return a non-pretty print version???
答案 0 :(得分:0)
这是您案例的解决方案:
@view_config(route_name='home', renderer='json')
# It's better to keep non-pretty JSON renderer as a default one
def home(request):
if request.params.get('pretty'):
request.override_renderer = 'prettyprintjson'
return {'name':'Fred'}
文档的Overriding A Renderer At Runtime部分中的详细信息。