无报错但Flask模板未渲染问题排查与解决
Flask模板渲染无响应问题排查
问题描述
Flask服务已正常启动,但模板渲染后页面无变化。课程项目场景:尝试连接MySQL数据库并将表数据展示到页面,已通过pandas将MySQL表转为HTML格式字符串:
for x in result: df2 = pd.DataFrame(list(x)).T df = pd.concat([df,df2]) pdTable = df.to_html()
在app.py中导入该字符串并通过render_template传入模板:
from flask import Flask, render_template import DBConnect app = Flask(__name__) print(DBConnect.pdTable) @app.route('/') def sqlTable(): return render_template("indexCopy.html", pandas_table=DBConnect.pdTable) if __name__ == '__main__': app.run()
模板文件indexCopy.html位于同级templates文件夹中,已使用安全过滤器渲染:
<div class="employeeTable"> <a id="Employee"><h2>Employee</h2></a> {{ pandas_table|safe }} </div>
卡在此问题数小时,寻求帮助。
问题解决(更新)
已找到根源:误解了Flask工作机制,以为Flask会覆盖原HTML文件,因此直接打开本地的indexCopy.html查看,未意识到需要访问Flask服务器地址(如127.0.0.1:5000)。访问服务器地址后,模板正常渲染。希望能帮助有同类困惑的用户。
内容的提问来源于stack exchange,提问作者pwoods
相关产品推荐
相关产品推荐

