Я изменил способ запроса базы данных, и хотя результат загружается нормально, я не могу отобразить информацию в шаблоне.
Я попытался переписать код более простым способом, чтобы попытаться пойматьошибки но ничего не нашли.Я не уверен, что еще делать.
from flask import render_template
from app import app, db
@app.route("/page")
def page():
'''
this is the old way that is useable in the template
result = Test.query.filter_by(id=12))
'''
# test variables
d = 65465
s = 'rebrb'
result = db.engine.execute('SELECT * FROM test WHERE id IN (183, 184, 180, 181, 182, 185, 95, 179)')
# new way works here but not in the template
print(result)
for row in result:
print(row.content)
return render_template('page.html', s=s, d=d, result=result, title='Video')
'''
The d and s load but the for loop doesn't do anything
'''
{{ d }}
{{ s }}
{% for row in result %}
{{ row }}
{{ d }}
{% endfor %}
Переменные d и s отображаются, но ничего за циклом for не работает.
edit 1: Я сделалнекоторый прогресс путем преобразования результата в список перед отправкой его в шаблон, но я чувствую, что не должен был этого делать, и я все еще ищу лучший вариант.
edit 2: Я обнаружил, что могу также выполнить запрос таким образом.
result = Test.query.filter(Test.id.in_(183, 184, 180, 181, 182, 185, 95, 179))
Что работает лучше, но мне нужно, чтобы результат был в том же порядке, что и список