Я не могу правильно вызвать данные на моей html-странице.

Я пытаюсь извлечь данные из таблицы SQL, которая у меня есть, и мне удается создать цикл for для количества элементов в таблице, но я не могу извлечь данные.

main.py

@app.route("/Playback" , methods=['GET', 'POST'])
def Playback():
    cursor = mysql.connection.cursor(MySQLdb.cursors.DictCursor)
    cursor.execute("SELECT * FROM `movies`")
    query = cursor.fetchall()
    return render_template('playback.html', cursor=cursor, query=query)

playback.html

<table>
    <tr>
        <td>Movie Name:</td>
        <td>View</td>
        <td>Delete</td>
    </tr>
    {% block content %}
    {% for obj in query %}
    <tr>
        <td><p>{{ cursor['movie_name'] }}</p></td>
        <td><button>View</button></td>
        <td><button>Delete</button></td>
    </tr>
    {% endfor %}
    {% endblock %}
</table>

Вот что я попробовал, и результаты приведены на рисунке ниже results

Я пытаюсь вытащить название фильма из таблицы movies, но названия фильмов из таблицы не отображаются. Пожалуйста, помогите. Заранее спасибо.

Похоже, что в вашем шаблоне есть небольшая ошибка при обращении к имени фильма внутри цикла. Вы используете cursor['movie_name'], но это должно быть obj['movie_name'], потому что вы выполняете итерацию по запросу, и каждый элемент в цикле присваивается переменной obj. Попробуйте сделать так

<table>
    <tr>
        <td>Movie Name:</td>
        <td>View</td>
        <td>Delete</td>
    </tr>
    {% block content %}
    {% for obj in query %}
    <tr>
        <td><p>{{ obj['movie_name'] }}</p></td>
        <td><button>View</button></td>
        <td><button>Delete</button></td>
    </tr>
    {% endfor %}
    {% endblock %}
</table>

Теперь, я думаю, он должен правильно отображать названия фильмов

Вернуться на верх