Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 我需要帮助将对象字典打印为html表_Python 3.x_Dictionary_Flask_Wtforms - Fatal编程技术网

Python 3.x 我需要帮助将对象字典打印为html表

Python 3.x 我需要帮助将对象字典打印为html表,python-3.x,dictionary,flask,wtforms,Python 3.x,Dictionary,Flask,Wtforms,我的flask应用程序正在完美地使用flask wtf表单收集数据。收集后 @home.route('/add-new', methods=['POST', 'GET']) def newlist(): return redirect( url_for('auth.login')) form = ShoppingList() if form.validate_on_submit(): #insert to list item_id = l

我的flask应用程序正在完美地使用flask wtf表单收集数据。收集后

@home.route('/add-new', methods=['POST', 'GET'])
def newlist():
    return redirect( url_for('auth.login'))

    form = ShoppingList()
    if form.validate_on_submit():
        #insert to list
        item_id = len( shopping_lists ) + 1        
        shopping_list = ShoppingCart(session["email"], form.title.data, form.price.data, 
                                        form.quantity.data, item_id, form.description.data)
        addToDic(session["email"], shopping_list)
        result = shopping_lists
        flash("List saved okay")
        return render_template('home/dashboard.html', title="Dashboard", result = result)

    #Render the dashboard template on the /dashboard route    
    return render_template('home/newlist.html',form=form, title="Add new")
我的问题是如何将结果dic打印到烧瓶模板中的表格中。这是模板代码

<h3>HOME</h3>
                  <p>{{ utils.flashed_messages() }}</p>                   
                    <table class="table table-bordered">
                        <thead>
                          <tr>
                            <th>Item name</th>
                            <th>price</th>
                            <th>quantity</th>
                            <th>description</th>
                          </tr>
                        </thead>
                        <tbody>
                          <tr>

                          </tr>                          
                        </tbody>
                      </table>  
主页
{{utils.flashed_messages()}}

项目名称 价格 量 描述

非常感谢。请重新思考您应该参考
jinja2
,因为它写得非常好,知识来源非常全面,您想做的是非常简单的任务,前面已经解释过了

以下是一个工作示例:

app.py

from flask import Flask
from flask import render_template

app = Flask(__name__)

class MyObj(object):
    def __init__(self, name, price, quantity):
        self.name = name
        self.price = price
        self.quantity = quantity

@app.route('/')
def index():
    my_objects = [
        MyObj('I am a super-cool object!', 1000, 1),
        MyObj('I am a cooler object!', 2000, 2),
        MyObj('I am the coolest object!', 3000, 3),
    ]
    return render_template('index.html', my_objects=my_objects)

if __name__ == '__main__':
    app.run(debug=True)
index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
    table, th, td {
        border: 1px solid black;
    }
    </style>
</head>
<body>
<table>
    <thead style="border: 1px solid black;">
    <tr>
        <th>Item name</th>
        <th>price</th>
        <th>quantity</th>
    </tr>
    </thead>
    <tbody>
    {% for ob in my_objects %}
    <tr>
        <td>{{ ob.name }}</td>
        <td>{{ ob.price }}</td>
        <td>{{ ob.quantity }}</td>
    </tr>
    {% endfor %}
    </tbody>
</table>
</body>
</html>

标题
表,th,td{
边框:1px纯黑;
}
项目名称
价格
量
{my_objects%}
{{ob.name}
{{ob.price}}
{{ob.quantity}}
{%endfor%}
结果网页: