猿问

无法使用烧瓶将数据从 MySQL 数据库检索到 html

我正在制作一个烧瓶网站应用程序,我已经连接了一个 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)

这是试图检索数据的函数


@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()">&times;</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>


幕布斯7119047
浏览 63回答 1
1回答

潇潇雨雨

假设您正确获取数据,datas是一本字典。所以,html中的for循环是不必要的。你能试一试吗?<div id="mySidenav" class="sidenav">&nbsp; &nbsp; <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>&nbsp; &nbsp; <a href="{{url_for('professional')}}">{{data['first']}}</a>&nbsp; &nbsp; <a href="{{url_for('internships')}}">{{data['second']}}</a>&nbsp; &nbsp; <a href="{{url_for('projects')}}">{{data['third']}}</a>&nbsp; &nbsp; <a href="{{url_for('respon')}}">{{data['fourth']}}</a></div>
随时随地看视频慕课网APP

相关分类

Python
我要回答