瓶查询不表

问题描述:

工作,我有这样的脚本,我导入路线:瓶查询不表

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 %} 
+0

我试过了,它没有工作。 – user2774415

始终调试要传递到渲染页面的变量,这将让你知道数据是否是内部的指数或不

print(variable) 

使用此你会被确认,则必须为更紧密地解析到模板页面

+0

我在一个单独的脚本中做到了这一点 – user2774415

看什么数据。它将是元组列表,而不是字典。那有,没有名字与每个“列”相关联,所以尝试在模板引用,也就是说,row.code是要失败的,因为row是一个元组。

你可以,有一些工作,把行分为字典,通过与名称每个元组在cursor.description找到了匹配的插槽。还有的是如何在sqlite3 docs使用row_factory做榜样。