我正在尝试构建一个网页,其中包含存储在我的数据库中的调查问题和答案。我从数据库中得到两个单独列表中的问题和答案,我想返回它们(将它们相互组合)但我收到了这个错误"列表对象不可调用"。代码是:
@app.route('/show/<quest>')
def show(quest):
q_id = g.db.execute("SELECT id_survey FROM surveys WHERE survey=?",[quest]).fetchone()[0]
a = g.db.execute("SELECT q_id,a_id FROM mesh WHERE s_id=? ORDER BY q_id",[q_id]).fetchall()
questions=list()
answers=list()
for i in a:
b = g.db.execute("SELECT question FROM questions WHERE id_questions=?",[i[0]]).fetchone()[0]
c = g.db.execute("SELECT answer FROM answers WHERE id_aswers=?",[i[1]]).fetchone()[0]
domande.append(b)
risposte.append(c)
return domande + answers
理想的结果应该是:
调查标题
问题1:答案
问题2:答案
...
等等
P.S。:例如,2列出问题和答案是这样的:
问题= [你最喜欢的颜色?&#39;,你最喜欢的颜色?&#39;,你最喜欢的颜色?&#39;,你喜欢意大利面吗? ?&#39;,你喜欢意大利面吗?&#39;]
答案= [U&#39;红色&#39;中,u&#39;绿色&#39;中,u&#39;蓝色&#39;中,u&#39;是&#39;中,u&#39;无&#39; ]
它们总是具有相同的长度。提前谢谢。
答案 0 :(得分:2)
试试这个:
@app.route('/show-quest')
def showquestion():
questions = ['favourite color?','favourite color?','favourite color?','do you like pasta?','do you like pasta?']
answers = ["red","green",'blue','yes','no']
return render_template('question.html', questions=questions, answers=answers)
question.html
{% for question in questions %}
<p>{{question[0]}}</p>
{% for answer in answers[0:3] %}
<p>{{answer}}</p>
{% endfor %}
{% endfor %}