我正在使用Flask的微框架创建单页Web应用程序。
我在数据库中实现了SQL过程来处理用户的登录和注册。
我正在尝试检索已登录用户的名称,并在登录时向该用户个人资料页面打印欢迎消息。
这是到目前为止的python脚本,它试图从tbl_user检索所有user_name,并将它们打印到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(我想打印用户的用户名的部分)
<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页面? (或者至少将其打印到chrome控制台)
答案 0 :(得分:1)
您应该使用Jinja模板引擎,因为error.html文件已经在使用它。
在您的userHome.html模板中,您可以添加以下占位符,只要您想要显示用户名
{{ userName }}
然后在app.py中,使用以下内容将用户名传递给模板
return render_template('userHome.html', userName = userName)
变量userName
应该包含从SQL数据库中提取的字符串。