将列表作为烧瓶应用的元素列返回

时间:2017-03-12 18:03:30

标签: python json python-2.7 flask

我的文件file.json只有一个键,'file'返回一个列表,[1,2,3,4]。 我想在网页上返回:

我的清单

1

2

3

4

但相反,我得到:我的清单[1,2,3,4]。

from flask import Flask, render_template
import json

app=Flask(__name__)

@app.route('/')
def hello():
    return render_template('index.html')

@app.route('/data/')
def file():
    with open('file.json') as data:
            Data = json.load(data)
    return "My List " + str(Data['file'])

2 个答案:

答案 0 :(得分:2)

尝试使用Python pretty printer library获取无响应输出

要通过jinja渲染,您可以使用pprint过滤器,如:

async.parallel([
      function(parallelCb) {
        client.get('statuses/user_timeline', {screen_name: 'rajeevnodetest'}, function(error, tweets, response){
          parallelCb(null, {error: error, tweets: tweets});
        });    
    },
      function(parallelCb) {
        client.get('statuses/user_timeline', {screen_name: 'rajeev_jayaswal'}, function(error, tweets, response){
          parallelCb(null, {error: error, tweets: tweets});
        });    
    },
  ],  function(error, results) {
        // results will have the results of all 2
        res.send(JSON.stringify(results));
    });

或者,您可以使用各种不同的策略使用换行符手动格式化输出:

{{ data|pprint }}

答案 1 :(得分:0)

这样写:

@app.route('/data/')
def file():
    with open('file.json') as data:
            Data = json.load(data)
    return 'My List <br><br>' + '<br>'.join(map(str, Data['file']))