我已经尝试了100次,但我不知道此代码出了什么问题。有人请帮助我解决此问题,或告诉我我对以下代码做错了什么。
我每次收到:
builtins.TypeError TypeError:getCategoryItems()缺少1个必需项 位置参数:“ cat_id”
代码:
@app.route('/')
def getAllItems():
return redirect(url_for('getCategoryItems', category_name='ab', cat_id=1))
@app.route('/<string:category_name>/items/')
def getCategoryItems(category_name, cat_id):
id = cat_id;
items = session.query(Item).filter_by(category_id=id).all()
output = ''
for item in items:
output += item.title + '</br>'
return output
答案 0 :(得分:1)
您不需要传递category_name
,只需要类别ID。类别名称应包含在从数据库中获取的每个项目中。
收到错误消息是因为在调用函数cat_id
时未定义def getCategoryItems(category_name, cat_id)
。
但是,我建议您是否要真正使用所有项目:
@app.route('/')
def getAllItems():
items = session.query(Item).all()
...
有关更多信息,请查看flask-sqlalchemy docs。