Flask:如何将新创建的项从创建路由传递到查看路由?

Flask:如何将新创建的项从创建路由传递到查看路由?,flask,sqlalchemy,flask-sqlalchemy,Flask,Sqlalchemy,Flask Sqlalchemy,我有一个模型: class Item(db.Model): id = db.Column(db.Integer,primary_key=True) title = db.Column(db.String(80),unique=False) content = db.Column(db.String(80),unique=False) category = db.Column(db.String(80),unique=False) def __init__

我有一个模型:

class Item(db.Model):
    id = db.Column(db.Integer,primary_key=True)
    title = db.Column(db.String(80),unique=False)
    content = db.Column(db.String(80),unique=False)
    category = db.Column(db.String(80),unique=False)

    def __init__(self,title,content,category):
        self.title = title
        self.content = content
        self.category = category

    def __repr__(self):
        return '<Item %r>' % self.title
如您所见,如果用户发出post请求,并且内容存在,它将创建该项并重定向到url,以便使用参数item.id作为itemid进行查看。查看路线:

@app.route('/view/<itemid>')
def view(itemid):
    item = Item.query.filter_by(itemid)
    return render_template('view.html',item=item)
@app.route(“/view/”)
def视图(项目ID):
item=item.query.filter\u by(itemid)
返回呈现模板('view.html',item=item)
将itemid作为一个参数来查询它,因此我们通过重定向调用传递它是很好的!然而,烧瓶似乎没有得到这个部分。它说:

BuildError:无法为终结点“视图”生成url。您是否忘记指定值['itemid']


不,我没有忘记指定这些值。事实上,我甚至试着把它们硬编码进去。但是它似乎找不到item.id作为itemid。我做错了什么?

路由参数需要在
url\u中为
指定,而不是
重定向
。检查你的
的位置。万岁!干得好@univerio
@app.route('/view/<itemid>')
def view(itemid):
    item = Item.query.filter_by(itemid)
    return render_template('view.html',item=item)