如何使用Flask / Jinja在For Loop中渲染Kwargs

时间:2020-07-25 04:05:41

标签: python sqlite flask jinja2

我正在尝试打印从sqlite数据库中收集的字符串的简单列表。我测试了查询结果,列表很好,但是要使用python打印(在for循环内),我需要做print(*element)来打印kwarg。

尝试使用jinja2在Flask模板的for循环内打印它时出现问题。这样会为每个元素打印类似<sqlite3.Row at 0x7fe42f0a5710>的内容,但我似乎找不到任何合适的方法。

这是我的代码:

<select>
   {% for element in my_list %}
      <option value="my_class">{{ element }}</option>
   {% endfor %}
</select>

这是将list_from_db发送到模板的功能。

def index():
    list_from_db = get_my_list_of_strings()

    return render_template('index.html', my_list=list_from_db )

在此方面的任何帮助,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

我在另一个与Sqlite .fetchall()相关的SO答案中找到了解决方案。

Python的sqlite3模块即使查询单个列也返回一个元组列表。可以避免将row_factory属性应用于数据库游标。

这是original answer的链接。

编辑:尽管这确实很有用,并且使我进入正确的路径,但最终还是使用了属性make_dicts