2017-09-05 18 views
-1

我的燒瓶應用程序正在使用flask-wtf形式完美地收集數據。收集後我需要幫助來打印對象的字典作爲html表格

@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> 

非常感謝。請撥打

回答

1

您應該諮詢jinja2documentation,因爲它是非常好的書面和全面的知識來源,您想要做的是非常簡單的任務,這在早期解釋。

這裏是一個工作示例:

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> 

結果頁面:
enter image description here