Я пытаюсь создать простой торговый сайт, но для некоторых маршрутов я получаю 404 Not Found . Я довольно новичок в Bottle Framework и не могу понять проблему. Любая помощь с благодарностью.
Вот код:
import random
from bottle import Bottle,route,template, static_file, request, redirect, abort, view
import model
import session
app = Bottle()
@app.route('/')
def index(db):
info = {
'title': "Our Products"
}
all_products = model.product_list(db)
return template('index', info, products=all_products)
@app.route('/product/<id>', method='GET')
def product(db, id):
product = model.product_get(db, id)
return template('product.html', product=product)
@app.route('/views/men', method='GET')
def product(db):
products = model.product_list(db, 'Men')
return template('views/men.html', products=products)
@app.route('/', method='POST')
def cart(db):
id = request.query.id
quantity = request.forms.get('quantity')
product = model.product_get(db, id);
session.add_to_cart(db, id, quantity);
cart = session.get_cart_contents()
return template('cart.html', cart=cart)
@app.route('/cart')
def show_cart():
cart = session.get_cart_contents()
return template('cart.html', cart=cart)
@app.route('/static/<filename:path>')
def static(filename):
return static_file(filename=filename, root='static')
if __name__ == '__main__':
from bottle import run
from bottle.ext import sqlite, beaker
from dbschema import DATABASE_NAME
# install the database plugin
app.install(sqlite.Plugin(dbfile=DATABASE_NAME))
# install beaker
session_opts = {
'session.type': 'memory',
}
beaker_app = beaker.middleware.SessionMiddleware(app, session_opts)
run(app=beaker_app, debug=True, port=8010)
Домашняя страница работает нормально. Он загружается, и я вижу все продукты. Когда я нажимаю на товар, он выводит меня на 'http://127.0.0.1:8010/product/1', и все работает отлично. В этот момент я нажимаю на кнопку «Добавить в корзину», и она попадает в корзину. Но когда я меняю маршрут на «/ cart», я получаю 404 Not Found, когда я устанавливаю его на «/», он работает нормально. Когда я направляюсь в «views / men», я получаю 404 Not Found
. Я не понимаю, что происходит.