[英]Not able to retrieve data from a MySQL database into html using flask
我正在制作一个 flask 网站应用程序,我已经连接了一个 MySQL 数据库,但我无法将数据放入我的 HTML 文件中。 数据应该显示在侧面导航中,但没有显示(空白)。 这样做的目的是避免对文本进行硬编码,以便我可以轻松地更新需要相同文本的页面。 任何更好的方法来实现相同的结果也将不胜感激。 任何帮助表示赞赏,谢谢
这些是我的导入和设置
from flask import Flask, render_template
from flask_mysqldb import MySQL
app = Flask(__name__)
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = 'my_password_changed'
app.config['MYSQL_DB'] = 'swebsite'
mysql = MySQL(app)
这是试图检索数据的 function
@app.route('/menu/internships')
def internships():
cur = mysql.connection.cursor()
cur.execute("SELECT * FROM professional")
fetchdata = cur.fetchall()
cur.close()
datas = {}
# for j in fetchdata:
datas['first'] = f"{fetchdata[0][1]}"
datas['second'] = f"{fetchdata[1][1]}"
datas['third'] = f"{fetchdata[2][1]}"
datas['fourth'] = f"{fetchdata[3][1]}"
print(datas)
return render_template('internships.html', data = datas)
这是我尝试使用数据的地方
<div id="mySidenav" class="sidenav">
{% for j in data %}
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<a href="{{url_for('professional')}}">{{j['first']}}</a>
<a href="{{url_for('internships')}}">{{j['second']}}</a>
<a href="{{url_for('projects')}}">{{j['third']}}</a>
<a href="{{url_for('respon')}}">{{j['fourth']}}</a>
{% endfor %}
</div>
假设您正确获取数据, datas
是一个字典。 因此,html 中的 for 循环是不必要的。
你能试一试吗?
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<a href="{{url_for('professional')}}">{{data['first']}}</a>
<a href="{{url_for('internships')}}">{{data['second']}}</a>
<a href="{{url_for('projects')}}">{{data['third']}}</a>
<a href="{{url_for('respon')}}">{{data['fourth']}}</a>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.