无法通过烧瓶从MySQL检索数据

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

        datas.append(fetchdata[i][1])

    # print(datas)

    return render_template('internships.html', data = datas)

这是我尝试使用数据的地方


<div id="mySidenav" class="sidenav">

    {% for j in datas %}


    <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>

    <a href="{{url_for('professional')}}">Organisational Experience</a>

    <a href="{{url_for('internships')}}">{{j[0]}}</a>

    <a href="{{url_for('projects')}}">Projects & Research</a>

    <a href="{{url_for('respon')}}">Positions of Responsibility</a>

    {% endfor %}

</div>

我已经更新了我的代码,我的屏幕上还是没有打印任何内容


这是试图检索数据的函数


@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)

斯蒂芬大帝
浏览 133回答 1
1回答

达令说

您正在将“数据”传递给您的模板,但您正在使用"datas"html。"datas=datas"将html传递或更改为{% for j in data %}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python