我有一个从 sqlite3 数据库获得的元组列表。我试图以不同的方式获取数据库,但没有任何运气,这不是这个问题的人,但最终如果它有助于格式化我的单选按钮表单的描述,我会欣喜若狂。
我的清单如下:
images = [(1, u'True', u'file_Name.img', u'img', u'train', u'2013-02-0509:59:46.442660file.ext',
u' file2.ext', u'ABC', u"[u'prod_one-prod_two']", u'name@email.com',
u'nothing happens', u'2013-02-0509:59:46.442660', u"[u'ftp://link/file_Name.img',
u'ftp://link/file3.ext', u'ftp://link/file_Name.log']"),(2, u'True',u'file_Name.img',
u'img', u'train', u'2013-02-0509:59:46.442660file.ext', u' file2.ext', u'ABC',
u"[u'prod_one-prod_two']", u'name@email.com', u'nothing happens',
u'2013-02-0509:59:46.442660', u"[u'ftp://link/file_Name.img', 'ftp://link/file3.ext',
u'ftp://link/file_Name.log']")]
我想做的是让选择的值成为每个元组的第一个元素
rows = [(str(x[0]), x) for x in images]
form.images.choices = rows
然而,它看起来好像我只是用 unicode 字符和所有东西打印了那个乱七八糟的东西。
所以我试图在一个漂亮的表格中格式化它,以便很容易看到每个元组包含的内容
descriptionList = []
description = ''
for i in images:
for j in i:
description = description + '\t|' + str(j)
descriptionList.append(description)
rows = [(str(x[0]), y) for x, y in zip(images, descriptionList)]
form.images.choices = rows
但是,当我显示表单时,它在输出中没有制表符。
所以现在我正在考虑将 descriptionList 传递到模板中并将其显示在每个单选框旁边以充当表单中的描述。
return render_template('database.html', form=form, descriptions = descriptionList)
{% for subfield, desc in zip(form.images, descriptions) %}
<tr>
<td>{{ subfield }}</td>
{# {{ subfield.label }} (this is a comment)#}
desc <br>
</tr>
{% endfor %}
但是我收到错误“UndefinedError:'zip'未定义”
没有它我得到:
{% for subfield, desc in (form.images, descriptions) %}
ValueError: too many values to unpack
关于如何解决这个问题的任何建议都令人惊叹。谢谢