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
ただし、ユニコード文字とすべてでその混乱を印刷したように見えます。
だから私はそれを素敵なテーブルにフォーマットしようとしているので、各タプルに何が含まれているかを簡単に確認できます
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' is undefined」というエラーが表示されます
そしてそれなしで私は得る:
{% for subfield, desc in (form.images, descriptions) %}
ValueError: too many values to unpack
これを解決する方法についての提案は、驚くべきことにほかなりません。ありがとう