2017-06-04 23 views
0

私はウェブページ上にデータをインポートするテーブルを作ろうとしています!私はPythonでFlask-Jinjaを使用しています。Flask-Jinja Pythonでlist in listを使う方法

list = [[{'pricebb': 1199.99, 'model': 'model1', 'pricebh': 1199, 'pricea': 1299}, {'pricebb': 1199.99, 'model': 'model2', 'pricebh': 1199, 'pricea': 1299}, {'pricebb': 1499.99, 'model': 'model3', 'pricebh': 1499, 'pricea': 1599}], [{'pricebb': 399.99, 'model': 'model4', 'pricebh': 459, 'pricea': 499}, {'pricebb': 599.99, 'model': 'model5', 'pricebh': 669, 'pricea': 699}, {'pricebb': None, 'model': 'model6', 'pricebh': 899, 'pricea': 999}]] 

は、私はループでそれを分離し、1つのページに2つの異なるテーブルを作成したい: は、たとえば私は、この二重のリストを持っています。 私はリストでのPythonを使用している場合は、[0] Iは、1番目のサブリストを取得しますが、私はフラスコでそれをしようとすると:

{% for post in posts %} 
    <p>{{post[0]}}</p> 
     {% endfor %} 

それは私に戻って - MODEL1とmodel4)なぜその起こったのか?リストから1番目のサブリストを取得するにはどうすればよいですか?あなたは何か考えましたか?ありがとうございました!ここで

run1() 

list= sqlselect()# here is array from DB 
a = list # its a list sample that I posted above 



@FlaskApp2.route('/', methods=('Get', 'Post')) 
@FlaskApp2.route('/index') 
def index(): 
    user = {'nickname': 'parser'} # fake user 
    return render_template("index.html", 
          title='Web', 
          user=user, 
          posts=list, describe=des) 

のindex.htmlです:

<table> 
    <caption>products compare list ({{item}})</caption> 


    <thead> 
    <tr> 

    <th>qqq.com</th> 
    <th>Price</th> 
    <th>qqq.com</th> 
    <th>qqq.com</th> 
    </tr> 
    </thead> 

    {% for post in posts %} 
    <p>{{post[0]}}</p> 
     {% endfor %} 

</table> 
+0

あなたがプログラム全体 – Rednivrug

+0

更新を共有することができます........ – TheRutubeify

答えて

1

あなたはposts[0]することにより、内部のリストにアクセスすることができます - 最初のリスト、および​​- 第二のリスト(あなたがPythonの予約語と変数に名前を付けるべきではありませんでし - あなたの名前をlistとしないでください。ただし、mylist)。

{% for post in posts[0] %} 
    {% for key, value in post.items %} 
    <p>{{ key }}: {{ value }}</p> 
{% endfor %} 

及び第二のリストのために:あなたが使用する必要がある最初のリストのための要素にアクセスするための

{% for post in posts[1] %} 
    {% for key, value in post.items %} 
    <p>{{ key }}: {{ value }}</p> 
{% endfor %} 
+0

感謝をあなた、それは仕事です! – TheRutubeify

+1

@これはうまくいきました。うまくいきました。質問を閉じるために回答を受け入れることができるようになりました。 – doru