我想以表格形式打印json对象,表格形式是使用python中的render\u template()传递的

2024-06-16 13:26:31 发布

您现在位置:Python中文网/ 问答频道 /正文

Python代码如下:

   @app.route("/send", methods=['GET', 'POST'])
    def send():
        if request.method == "POST":
            findemail=request.form['email']
            datafound=findlogic(findemail)
            data = jsonify(datafound)
            #return data
            return render_template("testjinja.html", x=data)

数据的格式如下

"629513533": [
        {
          "xyz": "629513533"
        }, 
        {
          "a": "1.00"
        }, 
        {
          "b": "3.00"
        }, 
        {
          "c": "1.00"
        }, 
        {
          "d": "1.00"
        }, 
        {
          "e": "1.00"
        }, 
        {
          "f": "1.00"
        }, 
        {
          "g": "1.00"
        }, 
        {
          "h": "1.00"
        }, 
        {
          "i": "1.00"
        }, 

我试过了testjinja.html文件具体如下:

<body>
{% for value in x %}           // I have tried x.iteritems(), x.items() also 
  <li>{{ x[value].xyz }} </li>
{% endfor %}
</body>

我得到一个错误,响应对象不可iterable。我不知道如何在中处理json对象xtestjinja.html文件. 请帮忙


Tags: 文件对象senddatareturnvaluerequesthtml
2条回答

你不能像你想要的那样迭代一个字符串,但是它看起来像你的data是一个json字符串,所以你可以做如下操作:

json_data = json.loads(data)

<body>
{% for value in json_data['629513533'] %}           
  <li>{{ x[value].xyz }} </li>
{% endfor %}
</body>

你必须import json

我也遇到了同样的问题,我通过在py端创建一个数组并将它通过渲染传递到我的模板来解决。你知道吗

示例:

status = {'summary': data["status"], 'date_applied': data["date_app"], 'message': data["message"], 'location': data["location"], 'title': data["title"]}       
return render.operatingStatus(status)

相关问题 更多 >