Аналогичный вопрос , который не решает мою проблему.
У меня есть приложение Flask, которое читает из базы данных и отображает HTML-шаблон, используя данные БД.Я пытаюсь манипулировать значением, полученным из БД, перед отправкой его в шаблон HTML, и это не работает.
Код Python:
@app.route('/pilot', methods=['GET'])
def form_view():
result = {}
# query DB and get cursor
numQuestions = 0
for row in cursor:
row.pop('_id', None) # delete the key and add modified key back
row['_id'] = row['stage'][-1] # get only last char- eg, "1" from "stage1", "2" from "stage2" and so on
print(row['_id'])
result[numQuestions] = row
numQuestions += 1
return render_template("form.html", count=numQuestions, result=result, debug=app.debug)
Вывод при запуске на терминалекак и ожидалось:
1
1
1
2
2
2
Jinja2 фрагмент form.html:
{% for row in result[row_num]['scrutiny_stage'] %}
{{ row['_id'] }}
{% endfor %}
Вывод в браузере:
stage1 stage1 stage1 stage2 stage2 stage2 stage2
Может кто-нибудь помочь мне понять, что яя делаю что-то не так, и как я могу получить правильное значение переменной, которую я устанавливаю в коде Python для отображения в шаблоне HTML, отображаемом Flask?
Спасибо.