我正在尝试打印从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 )
在此方面的任何帮助,我将不胜感激。
答案 0 :(得分:0)
我在另一个与Sqlite .fetchall()
相关的SO答案中找到了解决方案。
Python的sqlite3模块即使查询单个列也返回一个元组列表。可以避免将row_factory属性应用于数据库游标。
这是original answer的链接。
编辑:尽管这确实很有用,并且使我进入正确的路径,但最终还是使用了属性make_dicts。