@web.route('/wish/book/<isbn>/redraw')
@login_required
def redraw_from_wish(isbn):
wish = Wish.query.filter_by(isbn=isbn, launched=False).first_or_404()
with db.auto_commit():
wish.delete()
return redirect(url_for('web.my_wish'))
如果有多个用户对同一本书都有心愿,以isbn
作为查询条件的话,有可能查询到别人的心愿,导致别人的心愿被删除。
以下是我自己写的修改,以wish.id
作为查询条件,麻烦老师看看行不行:
@web.route('/wish/<int:wid>/redraw')
@login_required
def redraw_from_wish(wid):
wish = Wish.query.get_or_404(wid)
with db.auto_commit():
wish.delete()
return redirect(url_for('web.my_wish'))
7月老师深入浅出剖析Flask核心机制,和你一起探讨Python高级编程
了解课程