builtins.TypeError TypeError

时间:2018-09-23 11:12:45

标签: python python-3.x flask flask-sqlalchemy

我已经尝试了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

1 个答案:

答案 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