Я начинаю использовать Джинджу, так что, возможно, вопрос тривиален, и я не понял (пока), как работают Джинджа и фляга.
То, что я хочу сделать, это использовать файл yaml с некоторыми значениями (не слишком вложенными, но все же немного), загрузить его в качестве словаря, передать значения словаря в шаблон jinja и использовать flask для визуализации финального файла. HTML-файл / с.
Это супер маленький скрипт, который я использую для колбы:
from flask import Flask, render_template
import yaml
import os
file_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'example.yaml')
app = Flask(__name__)
my_dic = yaml.safe_load(open(file_path))
@app.route("/")
def template_test():
return render_template('base.html', my_dic=my_dic)
if __name__ == '__main__':
app.run(debug=True)
это шаблон дзиндзя:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="container">
<p>
{{ my_dic['who']}}
</p>
</div>
</body>
</html>
и это супер глупое содержимое файла yaml (которое должно стать богаче со многими другими значениями):
who:
- My string to view
Теперь вот вывод, который я вижу в html:
![enter image description here](https://i.stack.imgur.com/XEwEj.png)
Как видите, вокруг строки []
и '
. Я мог бы найти правильный способ (и я уверен, что есть) для визуализации только содержимое строки.
Спасибо за любые предложения
решаемые
Спасибо за предложения. Проблема заключалась в том, что значения были прочитаны как массив, и мне пришлось их зациклить:
{% for i in my_dic.who %}
<p>
i
</p>
{% endfor %}