我的網站可以選擇添加產品(提供名稱和價格)。我使用 sqlite3 存盤這些資料:
import sqlite3
from main import *
from flask import flash
conn = sqlite3.connect('products.db')
c = conn.cursor()
c.execute(""" CREATE TABLE IF NOT EXISTS products (
name text,
price integer
) """)
c.execute("SELECT * FROM products")
existence = False
for name in c:
if name[0] == request.form["product"]:
existence = True
if existence:
flash('This item already exist !! ',category='error')
else:
flash('Item added successfully',category='success')
c.execute (" INSERT OR IGNORE INTO products VALUES (?,?)",[request.form["product"],request.form["price"]])
c.execute("SELECT * FROM products")
conn.commit()
conn.close()
我想在我的網站上顯示所有產品。它的樣子:
{% extends "base.html" %}
{% block title%} Products {% endblock %}
{% block content %}
<h1></h1>
{% endblock %}
也許我可以使用 Python 檔案來顯示我的資料?也許我應該使用另一種方式來存盤我的資料?
uj5u.com熱心網友回復:
首先,為您的產品頁面創建一個應用程式路由。
用您的 html 頁面名稱替換 python 檔案末尾的回傳 render_template 中的“products.html”。
為您選擇所有產品的位置分配一個變數,然后添加一個 fetchall。在呈現 products.html 時將其回傳為 product = products。
import sqlite3
from main import *
from flask import Flask, render_template, flash
@app.route('/products')
def products():
conn = sqlite3.connect('products.db')
c = conn.cursor()
c.execute(""" CREATE TABLE IF NOT EXISTS products (
name text,
price integer
) """)
products = c.execute("SELECT * FROM products").fetchall()
existence = False
for name in c:
if name[0] == request.form["product"]:
existence = True
if existence:
flash('This item already exist !! ',category='error')
else:
flash('Item added successfully',category='success')
c.execute (" INSERT OR IGNORE INTO products VALUES (?,?)"[request.form["product"],request.form["price"]])
c.execute("SELECT * FROM products")
conn.commit()
conn.close()
return render_template('products.html', products=products)
要在您的實際產品頁面中顯示它,我們需要使用 Jinja 中內置的 python 'for loops'。這會遍歷資料庫中的每個產品并列印出價格和名稱。
{% extends "base.html" %}
{% block title%} Products {% endblock %}
{% block content %}
{% for product in products %}
<h1>{{ product.price }}</h1>
<h1>{{ product.name }}</h1>
{% endfor %}
{% endblock %}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/511651.html
上一篇:將API資料存盤到SQLite
下一篇:SQLite3記錄格式與檔案不同
