【问题标题】:Flaskr Delete posts(flaskr example)Flaskr 删除帖子(flaskr 示例)
【发布时间】:2017-01-11 02:46:11
【问题描述】:

所以我开始按照 flaskr 示例进行操作,并且一切正常运行。我开始尝试使用 entry.id 方法删除我添加的帖子,但是当我尝试删除帖子时,我收到 500 错误提示

" '_AppCtxGlobals' 对象没有属性 'db'"

一开始我删除了全局作用域,但导致了同样的错误。

这就是我的路线的样子。

“/”路线


@app.route('/')
def show_entries():
    db = get_db()
    cur = db.execute('select title, text, id from entries order by id desc')
    entries = [{"title" : row[0], "text" : row[1], "id" : row[2]} for row in cur.fetchall()]

删除路线


@app.route('/delete/<entry_id>')
def delete_entry(entry_id):
    if not session.get('logged_in'):
        abort(401)
    g.db.execute('delete from entries where id=' + entry_id)
    g.db.commit()
    flash('Entry was succesfully removed')
    return redirect(url_for('show_entries'))

任何想法为什么我可能会收到此错误?

谢谢!

【问题讨论】:

  • g 是一个类似字典的对象。您正在尝试进行属性查找。你可能想做g.get("db"),这取决于你如何把数据库放在那里。

标签: python sqlite flask


【解决方案1】:

我认为你应该使用 db = get_db() 和 db.execute 与 show_entries 一样

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 2011-07-21
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    • 1970-01-01
    相关资源
    最近更新 更多