2016-11-22 12 views
0

私はFlaskのマイクロフレームワークを使用して単一ページのWebアプリケーションを作成しています。SQLデータベースからレコードを取得し、HTMLで印刷します(Python経由)

ユーザーのログインと登録を処理するためにデータベース内にSQLプロシージャーを実装しました。

私は、ログインしたユーザーの名前を取得し、ログイン時にそのユーザーのプロファイルページにウェルカムメッセージを表示しようとしています。

これはこれまでのpythonスクリプトで、tbl_userからすべてのuser_name(s)を取得してuserHomeページに出力しようとしています。

app.py

@app.route('/userHome') 
def userHome(): 
    if session.get('user'): 
     return render_template('userHome.html') 


     cursor1 = db.cursor() 
     cursor1.execute("select user_name from tbl_user") 
     result = cursor1.fetchall() 
     for row in result: 
      print (row[0]) 

    else: 
     return render_template('error.html',error = 'Unauthorized Access') 

    cursor.close() 
    con.close() 

userHome.html(私は、ユーザーのUSER_NAMEを印刷したいと思いれる区間)

<body style="border:1px solid blue;background:#ffffff;"> 

<div class="row" style="padding-right:20px;"> 

    <!--PROFILE PIC Section--> 
     <div class="col-md-3 col-md-offset-1"> 
      <div style="background:#f2f2f2;box-shadow: 10px 10px 30px #333333;margin-right:;"> 


      <img class="" src="http://jnrgym.com/wp-content/uploads/2013/08/Facebook-no-profile-picture-icon-620x389.jpg" style="width:100%;max-height:100%;padding:5%;"> 


      <p style="border:1px solid red;text-align:center;"> 

       {user_name} << this is where I would like user_name to appear 

      </p> 

     </div> 
</div> 

<body> 

私はこれを達成するための正しい方法ではないことを承知していますしかし、これは私の初めてのPythonの使用です。私の質問は、私のpythonスクリプトの結果/出力をHTMLページにどのように渡すのですか? (または少なくとも、クロムコンソールに印刷してください)

+0

userHome.htmlページにJinjaテンプレートを使用していますか? – scotty3785

+0

いいえ、Flaskは現在のところテンプレートを扱う唯一のものです。 – JayRizla

+0

'return'はあなたの' view'の最後にあるべきです – ettanany

答えて

1

error.htmlファイルがすでに使用しているので、Jinjaテンプレートエンジンを使用する必要があります。 userHome.html用テンプレートインサイド

ユーザー名を渡すために、次を使用し、あなたのapp.py内すると

{{ userName }} 

を表示されるように、ユーザー名を欲しい、これまで以下のプレースホルダを追加することができますテンプレート

return render_template('userHome.html', userName = userName) 

に変数userNameはあなたのSQLデータベースからフェッチしている文字列が含まれている必要があります。

+0

ありがとう、Scotty3785、あなたは私の質問に答えました。 – JayRizla

関連する問題