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('这本书已经添加至你的赠送清单或者已存在于你的心愿清单,请不要重复添加')
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): wish = Wish() wish.isbn = isbn wish.uid = current_user.id with db.auto_commit(): 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_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("you already added this book in your wish list") 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_db(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_add_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('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_wish(isbn): if current_user.can_save_gift_to_list(isbn): # 事务 只要使用db.session 都要使用rollback 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 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): # 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_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.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_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.isbn = isbn wish.uid = current_user.id db.session.add(wish) else: flash('这本书已经添加至你的心愿清单或赠送清单了,请不要重复添加') # redirect可以使用AJAX技术 return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_wish_list(isbn): with db.auto_commit(): # 由上下文管理函数来封装提交与回滚的 try except 代码块。 wish = Wish() wish.isbn = isbn wish.uid = current_user.id 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 #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): # 事务 回滚 # 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_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_wish(isbn): # 保存到心愿清单 yushu_book = YuShuBook() 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_wish(isbn): if current_user.cansavetolist(isbn): #rollback with db.auto_commit(): wish = Wish() wish.isbn = isbn wish.uid = current_user.id # 根据getuser方法,login模块自动实现模型的转换关联 db.session.add(wish) else: #可以使用ajax技术实现返回之前页面,避免重复刷新 #也可以使用页面缓存技术 flash('这本书已添加至愿望清单或想要清单,请不要重复添加')
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 # 获取book id book = Book.query.filter_by(isbn=isbn).first() wish.bid = book.id db.session.add(wish) else: flash('这本书已添加至你的赠送清单或已存在于你的心愿清单,请不要重复添加') return redirect(url_for('web.book_detail', isbn=isbn))
def create_wish(isbn): uid = g.user.uid with db.auto_commit(): Book.query.filter_by(isbn=isbn).first_or_404() gift = Gift.query.filter_by(isbn=isbn, uid=uid, launched=False).first() wish = Wish.query.filter_by(isbn=isbn, uid=uid, launched=False).first() if gift or wish: raise DuplicateGift() wish = Wish() wish.isbn = isbn wish.uid = uid db.session.add(wish) return Success(code=201)
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_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模型,可理解为user类的实例化对象 # current_user.beans += current_usent_app.config['BEANS_UPLOAD_ONE_BOOK'] # 增加鱼豆 db.session.add(wish) # db.session.commit() else: flash('这本书已经添加至你的心愿清单或存在于你的赠送清单,请不要重复添加') return redirect(url_for('web.book_detail', isbn=isbn)) # isbn为视图函数需要的参数
def save_to_wish(id): if current_user.can_save_to_list(id): with db.auto_commit(): wish = Wish() wish.book_id = id # current_user 实际上就是实例化的User(), 在models.user中的get_user()中将uid转化成User()实例模型 wish.uid = current_user.id db.session.add(wish) flash('添加成功!') else: flash('这本书已经存在于赠送清单或者心愿清单, 请不要重复添加.') return redirect(url_for('web.book_detail', id=id))
def save_to_wish(isbn): if current_user.can_save_tolist(isbn): with db.auto_commit(): wish = Wish() wish.isbn = isbn wish.uid = current_user.id db.session.add(wish) else: flash("这本书已经添加到你的赠送清单里面了. Sorry,can't save isbn:{}".format(isbn)) # return "sorry,can't save isbn:{}".format(isbn) return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): # 事务,操作了两张表,因此要保证数据的一致性 # rollback 数据库回滚 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): try: wish = Wish() wish.isbn = isbn wish.uid = current_user.id db.session.add(wish) db.session.commit() except Exception as e: db.session.rollback() raise e else: flash('这本书已添加至你的赠送清单或已存在于你的心愿清单,请不要重复添加') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): # 事务,保证user和gift的一致性,rollback # try: 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) # db.session.commit() # except Exception as e: # db.session.rollback() # raise e else: flash('这本书已经添加至你的赠送清单或者一存在于你的心愿清单,请不要重复添加') return redirect('web.book_detail', isbn=isbn)