def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): gift = Gift() gift.isbn = isbn gift.uid = current_user.id db.session.add(gift) else: flash('这本书已经添加至心愿清单或者已经存在,不允许重复添加') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): wish = Wish() wish.uid = current_user.id wish.isbn = isbn db.session.add(wish) else: flash('这本书已在您的愿望清单或赠送清单') return render_template(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): wish = Wish() wish.isbn = isbn wish.uid = current_user.id db.session.add(wish) else: flash('这本书已经添加至你的赠送清单或已存在于你的心愿清单,请不要重复添加') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): wish = Wish() wish.uid = current_user.id wish.isbn = isbn db.session.add(wish) else: flash('这本书已经在您的心愿清单了') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): wish = Wish() wish.isbn = isbn wish.uid = current_user.id db.session.add(wish) else: flash("这本书已添加至您的赠送清单或心愿清单,请勿重复添加") return redirect(url_for("web.book_detail", isbn=isbn))
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): gift = Gift() gift.isbn = isbn gift.uid = current_user.id current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK'] db.session.add(gift) else: flash('这本书已经添加至您的赠送/心愿清单,请不要重复添加')
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): wish = Wish() wish.isbn = isbn wish.uid = current_user.id current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK'] db.session.add(wish) else: flash('这本书已经添加至你的赠送清单或已存在于你的心愿清单,请不要重复添加') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): gift = Gift() gift.isbn = isbn gift.uid = current_user.id current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK'] db.session.add(gift) else: flash('这本书存在于你的赠送清单或心愿清单,请不要重复添加') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): wish = Wish() wish.isbn = isbn wish.uid = current_user.id wish.add() flash('添加成功!') else: flash('添加失败') return redirect(url_for('web.book:detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): wish = Wish() # 获得当前用户的id wish.uid = current_user.id wish.isbn = isbn db.session.add(wish) else: flash("这本书已添加至您的赠送清单或已存在与您的心愿清单,请不要重复添加") return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): #判断能否存入赠送清单 with db.auto_commit(): gift = Gift() gift.isbn = isbn gift.uid = current_user.id #一个实例化后的User的模型,通过模型中的get_user来转化为一个模型 current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK'] db.session.add(gift) else: flash('这本书已经在你的心愿清单了') return redirect(url_for('web.book_detail', isbn=isbn)) #赠送成功后重定向到当前书籍页面
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): wish = Wish() wish.isbn = isbn wish.uid = current_user.id wish.create_time = datetime.now() db.session.add(wish) else: flash('您已经有书籍在赠送或者心愿清单中,请勿重复添加!') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): # auto_commit为自定义上下文管理器 with db.auto_commit(): wish = Wish() wish.isbn = isbn wish.uid = current_user.id db.session.add(wish) else: flash("书籍已经存在心愿清单或者愿望清单中") return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): wish = Wish() wish.isbn = isbn wish.uid = current_user.id #current_user 与user中的模型get_user方法相对 db.session.add(wish) else: flash('这本书已存在你的赠送清单,或者你的心愿清单,请不要重复添加') # ajax技术不刷新页面返回数据 或者将整个页面缓存起来,从而提高服务器性能 return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): wish = Wish() wish.isbn = isbn wish.uid = current_user.id db.session.add(wish) else: flash("这本书以添加进您的赠送清单或已经存在于您的心愿清单,请不要重复添加") return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): gift = Gift() gift.isbn = isbn gift.uid = current_user.id current_user.beans += current_app.config["BEANS_UPLOAD_BOOK"] db.session.add(gift) else: flash("这本书已添加至你的赠送清单或已存在于你的心愿清单") return redirect(url_for("web.book_detail", isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): # try: with db.auto_commit(): wish = Wish() wish.isbn = isbn wish.uid = current_user.id db.session.add(wish) else: flash('这本书已经在你的赠送或者心愿清单中存在,请不要重复提交') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): gift = Gift() gift.isbn = isbn gift.uid = current_user.id current_user.coins += current_app.config['COINS_UPLOAD_ONE_BOOK'] current_user.send_counter += 1 db.session.add(gift) else: flash('不要重复添加!') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): # 事务 回滚 # try: with db.auto_commit(): wish = Wish() wish.isbn = isbn wish.uid = current_user.id db.session.add(wish) else: flash('这本书已添加至你的礼物清单或已经存在与你的心愿清单') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): # 通过自定义的上下文管理器来实现自动提交和回滚 gift = Gift() gift.isbn = isbn gift.uid = current_user.id # 通过flask_login来获取uid,事实上flask_login只把uid存储在cookie中,然后通过models/user中的1.1来进行数据读取 current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK'] db.session.add(gift) else: flash('这本书已经添加至你的赠送清单或已存在于你的心愿清单,请不要重复添加') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): wish = Wish() wish.isbn = isbn # current_user实例化User的模型,和user中定义的get_user方法 # current_user.beans += current_app.config['BEAN'] wish.uid = current_user.id db.session.add(wish) else: flash('这本书已添加至你的赠送清单或存在于你的心愿清单,请不要重复操作') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): # database transaction gift = Gift() gift.isbn = isbn gift.uid = current_user.id current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK'] db.session.add(gift) else: flash('already added into gift or wish') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): yushu_book = OBook() yushu_book.search_by_isbn(isbn) if current_user.can_save_to_list(isbn): with db.auto_commit(): wish = Wish() wish.uid = current_user.id wish.isbn = isbn db.session.add(wish) else: flash('这本书已添加至你的赠送清单或已存在于你的心愿清单,请不要重复添加') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): gift = Gift() gift.isbn = isbn gift.uid = current_user.id db.session.add(gift) db.session.commit() current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK'] else: flash("这本书已添加至你的赠送清单或已存在于你的心愿清单,请不要重复添加") return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): gift = Wish() gift.isbn = isbn gift.uid = current_user.id db.session.add(gift) else: flash('这本书已添加至你的赠送清单或已存在于你的心愿清单,请不要重复添加') return redirect(url_for('book.detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): wish = Wish() wish.isbn = isbn wish.uid = current_user.id # current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK'] db.session.add(wish) else: flash('这本书已经在赠送清单或心愿清单,请不要重复添加') # book_detail -> save_to_gifts -> book_detail # 这里 book_detail会重新渲染,可以考虑 使用 Ajax 和静态文件缓存 return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): gift = Gift() gift.isbn = isbn gift.uid = current_user.id current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK'] db.session.add(gift) else: flash("这本书以添加进您的赠送清单或已经存在于您的心愿清单,请不要重复添加") return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): # auto_commit为自定义上下文管理器 with db.auto_commit(): gift = Gift() gift.isbn = isbn gift.uid = current_user.id current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK'] db.session.add(gift) else: flash("书籍已经存在心愿清单或者愿望清单中") return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): gift = Gift() gift.isbn = isbn gift.uid = current_user.id current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK'] db.session.add(gift) else: flash('this book already in the list , do not add it again') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_gifts(isbn): if current_user.can_save_to_list(): try: gift = Gift() gift.isbn = isbn gift.uid = current_user.id current_user.beans += current_app.config['BEANS_PER_UPLOAD'] db.session.add(gift) db.session.commit() except Exception as e: db.session.rollback() else: flash('The book is already in wishlist.')
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): # 事务 回滚 # try: with db.auto_commit(): gift = Gift() gift.isbn = isbn gift.uid = current_user.id current_user.beans += current_app.config['BEANS_UPLOAD_BOOK'] db.session.add(gift) else: flash('这本书已添加至你的礼物清单或已经存在与你的心愿清单') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): # 事务,操作了两个表。虽然只有 commit 才会提交,但是依然需要 rollback,否则后面的都会报错 with db.auto_commit(): gift = Gift() gift.isbn = isbn gift.uid = current_user.id # ------------------------- current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK'] db.session.add(gift) else: flash('这本书已经在你的清单里,不要重复添加') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): # 事务,保证user和gift的一致性,rollback # try: with db.auto_commit(): gift = Gift() gift.isbn = isbn gift.uid = current_user.id ################################################# current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK'] db.session.add(gift) # db.session.commit() # except Exception as e: # db.session.rollback() # raise e else: flash('这本书已经添加至你的赠送清单或者一存在于你的心愿清单,请不要重复添加') return redirect('web.book_detail', isbn=isbn)