Я не могу правильно вызвать данные на моей 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>
Теперь, я думаю, он должен правильно отображать названия фильмов