我在GET
请求后收到了一个响应对象,并且我已将其转换为JSON
jsonify()
。当我将它传递给模板时,我得到的是一个JSON对象,如:<Response 1366 bytes [200 OK]>
这个。
#request.py
...
response = requests.get('http://www.example.com')
response_json = jsonify(all=response.text)
return render_template(
'results.html',
form=ReqForm(request.form),
response=response_json,
date=datetime.datetime.now()
)
和模板..
#results.html
...
<div class="results">
{{ response }} # --> gives <Response 1366 bytes [200 OK]>
</div>
...
如何在模板中显示此JSON?
答案 0 :(得分:6)
使用json.dumps
response = json.dumps(response.text, sort_keys = False, indent = 2)
或使其更漂亮
response = json.dumps(response.text, sort_keys = True, indent = 4, separators = (',', ': '))
模板
#results.html
...
<div class="results">
<pre>{{ response }}</pre>
</div>
...
flask中的jsonify()
函数返回flask.Response()
对象,该对象已经具有适当的内容类型标题'application/json'
以用于json响应,而json.dumps()
将只返回编码字符串,需要手动添加mime类型标题。