Python Flaskr删除帖子(Flaskr示例)
因此,我开始按照烧瓶的例子,我得到了一切正常运行。我开始研究一种方法来删除我使用entry.id方法添加的帖子,但是当我尝试删除帖子时,我得到一个500的错误提示 “'u AppCtxGlobals'对象没有属性'db'” 起初,我删除了全局范围,但这导致了相同的错误 这就是我的路线 “/”路线Python Flaskr删除帖子(Flaskr示例),python,sqlite,flask,Python,Sqlite,Flask,因此,我开始按照烧瓶的例子,我得到了一切正常运行。我开始研究一种方法来删除我使用entry.id方法添加的帖子,但是当我尝试删除帖子时,我得到一个500的错误提示 “'u AppCtxGlobals'对象没有属性'db'” 起初,我删除了全局范围,但这导致了相同的错误 这就是我的路线 “/”路线 删除路由 @app.route(“/delete/”) def delete_条目(条目id): 如果不是session.get('logged_in'): 中止(401) g、 db.execu
删除路由
@app.route(“/delete/”)
def delete_条目(条目id):
如果不是session.get('logged_in'):
中止(401)
g、 db.execute('delete from entries,其中id='+entry_id)
g、 db.commit()
闪存(“条目已成功删除”)
返回重定向(url_for('show_entries'))
你知道我为什么会犯这个错误吗
谢谢 我认为应该使用db=get_db()和db.execute与show_entries相同
g
是一个类似字典的对象。您正在尝试执行属性查找。您可能需要执行g.get(“db”)
,这取决于您如何首先将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'))