Flask SQLite 查詢數據庫

普加

我正在嘗試對我的數據庫執行一些操作。表“訂單”在創建函數中獲取。但是為什麼它在 showtable() 函數中不起作用?這似乎是一個邏輯錯誤。我也想使用聚合函數。如何返回 query1() 的結果?

from flask import Flask, render_template, request, url_for, redirect
import sqlite3 as sql
app = Flask(__name__)

def dbconn():
    con = sql.connect("onlineshop.db")
    con.row_factory = sql.Row
    cur = con.cursor()
    return cur

@app.route('/createdb',methods = ['POST', 'GET'])
def create():
    cur=dbconn()
    cur.execute("CREATE TABLE orders(item TEXT, price REAL, cust_name TEXT)")

    cur.execute("INSERT into orders (item, price, cust_name) values (?,?,?)",("Oximeter","50","Alice"))
    cur.execute("INSERT into orders (item, price, cust_name) values (?,?,?)",("Sanitizer","20","Paul"))
    cur.execute("INSERT into orders (item, price, cust_name) values (?,?,?)",("Mask","10","Anita"))
    cur.execute("INSERT into orders (item, price, cust_name) values (?,?,?)",("Sanitizer","20","Tara"))
    cur.execute("INSERT into orders (item, price, cust_name) values (?,?,?)",("Thermometer","30","Bob")) 
    cur.execute("INSERT into orders (item, price, cust_name) values (?,?,?)",("Mask","10","Alice")) 
    #return " Table is created."
    cur.execute("select * from orders")
    rows = cur.fetchall()
    return render_template("onlineshoprecords.html", rows = rows)

@app.route('/showtable',methods = ['GET','POST'])  
def showtable():  
    cur=dbconn()  
    cur.execute("SELECT * FROM orders")
    rows = cur.fetchall()
    return render_template("onlineshoprecords.html", rows = rows)

@app.route("/query1",methods = ['GET','POST'])  
def query1():  
    cur=dbconn()
    res1=cur.execute("select sum(price) from orders")  
    return f' result is :{res1}'

if __name__ == '__main__':
   app.run(debug = True)

HTML

<!DOCTYPE html>
<head></head>
<body>
    <table>
        <tr>
        <th>Item</th>
        <th>Price</th>
        <th>Customer Name</th>
    </tr>

    {% for row in rows %}    
        <tr align="center">  
            <td>{{row["item"]}} </td>
            <td>{{row["price"]}}</td> 
            <td>{{row["cust_name"]}}</td> 
        </tr>     
    {% endfor %}  
</table>
</body>
</html>
大威

cur=dbconn()  
cur.execute("SELECT * FROM orders")
rows = cur.fetchall()

rowslisttupleS,不是dicts,如此的模板,你應該通過提供索引不是鍵來訪問它,如更換

    <td>{{row["item"]}} </td>
    <td>{{row["price"]}}</td> 
    <td>{{row["cust_name"]}}</td> 

使用

    <td>{{row[0]}}</td>
    <td>{{row[1]}}</td> 
    <td>{{row[2]}}</td> 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 sqlite3.connect 查詢數據庫並檢查匹配結果

為什麼我在 Flask 的 sqlite 數據庫中得到一個空行?

使用 Flask 會話查詢僅獲取單個字段數據

如何使用 SQLite3 數據庫更好地格式化 +1000 個條目的 Django 過濾器查詢?(表達式樹太大(最大深度1000))

使用 PHP 更新 SQLite 數據庫

數據庫查詢多參數、多模型

如何查詢規範化的 Firestore 數據庫

MongoDB (Mongoose) 數據庫查詢問題

django 數據庫查詢 OR 條件

更新查詢不更新數據庫?

SQL 數據庫入口和查詢

查詢數據庫以獲取名字或姓氏

Python Flask SQLAlchemy 不提交對數據庫的更改

sql查詢從mysql數據庫下載BLOB數據

從一對多關係數據庫查詢到數據表

Android Sqlite 不更新預填充的數據庫

使用 Swift 的 Sqlite3 數據庫問題

無法在 SQLite 數據庫 django 中保存

如何根據特定條件從mysql數據庫中選擇查詢

如何提高一個數據庫同步而另一個數據庫不同步的 SQL Server 中多數據庫查詢的性能

從 Django 中的第二個外部 SQLite 數據庫訪問數據

外鍵如何解決數據庫性能(索引)方面的查詢?

優化長查詢以查找帶有外鍵和表的數據庫模式

LINQ 是否在查詢數據庫,使我的緩存無用?

使用 sshtunnel 使用 Python 查詢 MySQL 數據庫,使用 SSH ppk 密鑰文件

firebase 9 查詢實時數據庫的密鑰

從數據庫查詢而不是 StdClass 獲取模型

嘗試將查詢從 nodejs 插入到 postgresql 數據庫時出錯

日期為字符串的Mongo數據庫查詢操作題