40 lines
934 B
Python
40 lines
934 B
Python
from cs50 import SQL
|
|
from flask import Flask, redirect, render_template, request, session
|
|
from flask_session import Session
|
|
|
|
# Configure app
|
|
app = Flask(__name__)
|
|
|
|
# Connect to database
|
|
db = SQL("sqlite:///store.db")
|
|
|
|
# Configure session
|
|
app.config["SESSION_PERMANENT"] = False
|
|
app.config["SESSION_TYPE"] = "filesystem"
|
|
Session(app)
|
|
|
|
|
|
@app.route("/")
|
|
def index():
|
|
books = db.execute("SELECT * FROM books")
|
|
return render_template("books.html", books=books)
|
|
|
|
|
|
@app.route("/cart", methods=["GET", "POST"])
|
|
def cart():
|
|
|
|
# Ensure cart exists
|
|
if "cart" not in session:
|
|
session["cart"] = []
|
|
|
|
# POST
|
|
if request.method == "POST":
|
|
book_id = request.form.get("id")
|
|
if book_id:
|
|
session["cart"].append(book_id)
|
|
return redirect("/cart")
|
|
|
|
# GET
|
|
books = db.execute("SELECT * FROM books WHERE id IN (?)", session["cart"])
|
|
return render_template("cart.html", books=books)
|