2017-01-11 2 views
0

Итак, я начал следовать примеру фласка, и я получил все, чтобы работать правильно. Я начал работать над удалением сообщений, добавленных с помощью метода entry.id, но когда я пытаюсь удалить сообщения, я получаю сообщение об ошибке 500:Flaskr Удалить сообщения (пример flaskr)

Объект '' _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')) 

Любые идеи, почему я мог бы получить эту ошибку?

Спасибо!

+0

'G' представляет собой словарь-подобный объект. Вы пытаетесь выполнить поиск атрибутов. Вы можете захотеть сделать 'g.get (" db ")' в зависимости от того, как вы положили туда db. – sytech

ответ

0

Я думаю, вы должны использовать дб = get_db() и db.execute так же, как show_entries

Смежные вопросы