2017-02-19 2 views
-2

フラスコに複数の行を表示するにはどうすればいいですか?ここ

@app.route('/teacher/<username>/files') 
def view_files(username): 
name = username 
sql = "SELECT fid from files WHERE f_username ='" + name+ "'"   
cur=mysql.connection.cursor() 
cur.execute(sql) 
for ids in cur.fetchall(): 
    sql1 = "select f_name from files where fid = %s" 
    cur.execute(sql1,ids) 
    vf=cur.fetchall() 
    return render_template('view_files.html',vf=vf) 

return 'No files uploaded' 

が、私は結果のクエリの最初の行だけを印刷することができるよ...私のクエリです。 forループの使用法は適切ですか?

答えて

0

戻り値は関数を終了し、戻り値を関数の呼び出し側に渡します。ループ中に最初にリターンを呼び出すと、view_files()が終了します。

forループでは、返されたsql行を配列に格納します。配列をview_files.htmlテンプレートに渡します。そのテンプレート内のforループを使用して結果を表示します。

関連する問題