瓶查询不表
问题描述:
工作,我有这样的脚本,我导入路线:瓶查询不表
import sqlite3
conn = sqlite3.connect("c:/DB/tvldb.db")
cursor = conn.cursor()
cursor.execute('''SELECT code, type, issue, item_type, list_code FROM Issues''')
datarows = cursor.fetchall()
conn.close()
那当我打印它工作正常。
这里是路线:
from flask import Flask, render_template
import db_issues
app = Flask(__name__)
datarows = db_issues.datarows
@app.route('/issues')
def issues():
return render_template('leftside.html', datarows=datarows)
if __name__ == '__main__':
app.run(debug=True)
这里是模板:
<h2 id="pageTitle"> Missing Items</h2>
<table style="width:85%" border="1">
<tr>
<th>Code</th>
<th>Type</th>
<th>Issue</th>
<th>Entry Type</th>
<th>List Code</th>
</tr>
{% for row in datarows %}
<tr>
<td>{{ code }}</td>
<td>{{ type }}</td>
<td>{{ Issue }}</td>
<td>{{ item_type }}</td>
<td>{{ list_code }}</td>
</tr>
{% endfor %}
</table><br><br>
{% endblock %}
表显示正常,但没有数据填充我一直在试图整天做这种简单的事并没有运气。根据我检查的所有教程和stackoverflow答案,这应该是正确的。任何帮助将不胜感激。
答
我想你应该写你的表像这样(没有测试过):
{% for row in datarows %}
<tr>
<td>{{ row['code'] }}</td>
<td>{{ row['type'] }}</td>
<td>{{ row['issue'] }}</td>
<td>{{ row['item_type'] }}</td>
<td>{{ row['list_code'] }}</td>
</tr>
{% endfor %}
答
始终调试要传递到渲染页面的变量,这将让你知道数据是否是内部的指数或不
print(variable)
使用此你会被确认,则必须为更紧密地解析到模板页面
+0
我在一个单独的脚本中做到了这一点 – user2774415
答
看什么数据。它将是元组列表,而不是字典。那有,没有名字与每个“列”相关联,所以尝试在模板引用,也就是说,row.code
是要失败的,因为row
是一个元组。
你可以,有一些工作,把行分为字典,通过与名称每个元组在cursor.description
找到了匹配的插槽。还有的是如何在sqlite3 docs使用row_factory
做榜样。
我试过了,它没有工作。 – user2774415