stack.sh
上面的代码将无法运行。我已经尽我所能尝试了几乎所有东西。可能是什么问题?
这也是上面的代码所指的。
from flask import Flask, render_template, request, redirect, url_for,
jsonify
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from database_setup import Base, SportCategory, MenuItem
app = Flask(__name__)
engine = create_engine('sqlite:///sportmenu.db',connect_args=
{'check_same_thread':False},)
Base.metadata.bind = engine
DBSession = sessionmaker(bind=engine)
session = DBSession()
@app.route('/')
@app.route('/catalog/')
def sportCategory(id):
sport =
session.query(SportCategory).order_by(SportCategory.name).filter_by(id
= category_id)
items =
session.query(MenuItem).order_by(MenuItem.date.desc()).filter_by(id =
menu_item_id)
return render_template('menu.html',category = sport, items = items)
答案 0 :(得分:1)
您看到的错误是由这三行引起的。
@app.route('/')
@app.route('/catalog/')
def sportCategory(id):
前两个声明没有变量的路由。但是def
声明了一个期望的路由处理程序。简单的解决方法是将前两个更改为
@app.route('/<id>')
@app.route('/catalog/<id>')
您可能想另外提供一个
@app.route('/')
def noSportCategory():
处理没有ID的情况。