def book_detail(isbn): has_in_gifts = False has_in_wishes = False if current_user.is_authenticated: if Gift.query.filter_by(uid=current_user.id, isbn=isbn).first(): has_in_gifts = True if Wish.query.filter_by(uid=current_user.id, isbn=isbn).first(): has_in_wishes = True yushu_book = YuShuBook() yushu_book.isbnSearch(isbn) book = BookViewModel(yushu_book.first) gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_gifts = TradeInfo(gifts) trade_wishes = TradeInfo(wishes) return render_template('book_detail.html', book=book, gifts=trade_gifts, wishes=trade_wishes, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes)
def search(): # 注意验证层 form = SearchForm(request.args) book = BookCollection() if form.validate(): q = form.q.data.strip() page = form.page.data print(q, page) isbn_or_key = is_isbn_or_key(q) yushu_book = YuShuBook() if isbn_or_key == "isbn": yushu_book.isbnSearch(q) else: yushu_book.keySearch(q) book.fill(yushu_book, q) # return json.dumps(book,default=lambda obj:obj.__dict__) else: flash('关键字错误,请重新输入关键字') # return jsonify(form.errors) return render_template('search_result.html', books=book)
def can_save_to_list(self, isbn): if isIsbnOrKey(isbn) != 'isbn': return False yushu_book = YuShuBook() yushu_book.isbnSearch(isbn) if not yushu_book.first: return False gift = Gift.query.filter_by(isbn=isbn, uid=current_user.id, launched=False).first() wish = Wish.query.filter_by(isbn=isbn, uid=current_user.id, launched=False).first() if not gift and not wish: return True return False
def can_save_to_list(self, isbn): # 1.判断isbn格式 # 2.判断isbn是否存在 # 3.一个人不能同时赠送多本书(根据launched) # 4.用户既不能又在赠送这本书状态下又索要这本书 if is_isbn_or_key(isbn) != 'isbn': return False yushubook = YuShuBook() yushubook.isbnSearch(isbn) if not yushubook.first: return False gift = Gift.query.filter_by(uid=current_user.id, isbn=isbn, launched=False).first() # 证明这个用户这个书正在赠送 wish = Wish.query.filter_by(uid=current_user.id, isbn=isbn, launched=False).first() # 证明这个用户这个书正在索要 if not gift and not wish: return True return False
def search(): wtforms = SearchForm(request.args) #传入所有参数,会自动分配验证 book = BookCollection() if wtforms.validate(): #开始进行验证,并且返回布尔值 q = wtforms.q.data.strip() #从验证中获取数据 page = wtforms.page.data is_isbn_or_key = isIsbnOrKey(q) yushuBook = YuShuBook() if is_isbn_or_key == 'isbn': yushuBook.isbnSearch(q) if is_isbn_or_key == 'key': yushuBook.keySearch(q, page) book.fill(yushuBook, q) # return json.dumps(book,default=lambda obj:obj.__dict__) else: flash('关键字错误,请重新输入关键字') # return jsonify(wtforms.errors) #返回所有错误信息 return render_template('search_result.html', books=book)
def search(): wtforms = SearchForm(request.args) book = BookCollection() if wtforms.validate(): q = wtforms.q.data.strip() page = wtforms.page.data is_isbn_or_key = isIsbnOrKey(q) yushu_book = YuShuBook() if is_isbn_or_key == 'isbn': yushu_book.isbnSearch(q) if is_isbn_or_key == 'key': yushu_book.keySearch(q, page) book.fill(yushu_book, q) else: flash('关键字错误,请重新输入关键字') return render_template('search_result.html', books=book)
def book_detail(isbn): # 分三种情况 # 1. 判断是否已经赠送当前书籍 # 2. 判断是否已经索要当前书籍 # 3. 判断是否既不赠送也不索要当前书籍 # 两个False是第三种情况 has_in_gifts = False has_in_wishes = False # 如果登陆了,判断 1 2情况 if current_user.is_authenticated: if Gift.query.filter_by(uid=current_user.id, isbn=isbn, launched=False).first(): has_in_gifts = True if Wish.query.filter_by(uid=current_user.id, isbn=isbn, launched=False).first(): has_in_wishes = True # 书籍详情信息 yushubook = YuShuBook() yushubook.isbnSearch(isbn) book = BookViewModel(yushubook.first) # 获取赠送列表和心愿列表 gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_gitfs = TradeInfo(gifts) trade_wishes = TradeInfo(wishes) return render_template('book_detail.html', book=book, gifts=trade_gitfs, wishes=trade_wishes, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes)
def book(self): yushubook=YuShuBook() yushubook.isbnSearch(self.isbn) return yushubook.first