【发布时间】: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"),这取决于你如何把数据库放在那里。