def book_detail(isbn): has_in_gifts = False has_in_wishes = False #取书籍的详情页面 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) if current_user.is_authenticated: if Gift.query.filter_by(uid=current_user.id, isbn=isbn, launched=False): has_in_gifts = True if Wish.query.filter_by(uid=current_user.id, isbn=isbn, launched=False): has_in_wishes = True #查出所有要赠送书的名单和索要书的名单 trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_gifts_models = TradeInfo(trade_gifts) trade_wishes_models = TradeInfo(trade_wishes) #mvc m是models v是templates视图层 c是视图函数 return render_template('book_detail.html', book=book, wishes=trade_wishes_models, gifts=trade_gifts_models, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes)
def book_detail(isbn): #显示书籍详细数据 has_in_gifts = False #既不在心愿清单也不在礼物清单 has_in_wishes = False #取书籍详情数据 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) 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 trade_gift = Gift.query.filter_by(isbn=isbn, launched=False).all() #查出所有赠送者的数据 trade_wish = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_wishes_model = TradeInfo(trade_wish) trade_gifts_model = TradeInfo(trade_gift) return render_template('book_detail.html', book=book, wishes=trade_wishes_model, gifts=trade_gifts_model, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes)
def book_detail(isbn): has_in_gifts=False has_in_wishes=False yushu_book=YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) 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 trade_gifts=Gift.query.filter_by(isbn=isbn,launched=False).all() trade_wishes=Wish.query.filter_by(isbn=isbn,launched=False).all() trade_gifts_model=TradeInfo(trade_gifts) trade_wishes_model=TradeInfo(trade_wishes) return render_template('book_detail.html',book=book,wishes=trade_wishes_model, gifts=trade_gifts_model,has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes) # @web.route('/test') # def test(): # r={ # 'name':'七月7日', # 'age': 19 # } # flash("hello,七月",category="error") # flash("hello,九月",category='warning') # return render_template('layout.html',data=r)
def book_detail(isbn): # 1,详情书籍信息 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book_view_model = BookViewModel(yushu_book.first) # 2,这本书是否在我的gift中 has_in_gift = False has_in_wish = False if current_user.is_authenticated: gifts = Gift.query.filter_by(uid=current_user.id, isbn=isbn, launched=False).all() if gifts: has_in_gift = True wishes = Wish.query.filter_by(uid=current_user.id, isbn=isbn, launched=False).all() if wishes: has_in_wish = True trade_gifts = Gift.query.filter_by(launched=False, isbn=isbn).all() trade_gifts_model = TradeInfo(trade_gifts) trade_wishes = Wish.query.filter_by(launched=False, isbn=isbn).all() trade_wishes_model = TradeInfo(trade_wishes) return render_template('book_detail.html', book=book_view_model, has_in_gifts=has_in_gift, has_in_wishes=has_in_wish, wishes=trade_wishes_model, gifts=trade_gifts_model)
def book_detail(isbn): has_in_wishes = False has_in_gifts = False yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) # 取得详情数据,并渲染到模板中 book = BookViewModel(yushu_book.first) if current_user.is_authenticated: # 如果未登录,current_user将是一个匿名用户对象 if Gift.query.filter_by( uid=current_user.id, isbn=isbn, # 自己的 filter_by 函数 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 trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_gifts_model = TradeInfo(trade_gifts) trade_wishes_model = TradeInfo(trade_wishes) # 传出:book BookViewModel 类型,gifts wishes 都是 TradeInfo 类型 return render_template('book_detail.html', book=book, wishes=trade_wishes_model, gifts=trade_gifts_model, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes)
def book_detail(isbn): # 默认gift与wish两张表都查询不到为False has_in_gifts = False has_in_wishes = False # 取书籍详情数据 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) # 判断用户是否登录 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 # 数据库查询到的原始数据 teade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() teade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() # 经过view——model修饰以后的数据 trade_wish_model = TradeInfo(teade_wishes) trade_gift_model = TradeInfo(teade_gifts) return render_template('book_detail.html', book=book, wishes=trade_wish_model, gifts=trade_gift_model, has_in_wishes=has_in_wishes, has_in_gifts=has_in_gifts)
def book_detail(isbn): # 判断用户是否在这本书的心愿清单、赠送清单中的标识 in_gift_list = False in_wish_list = False yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.only_book) if current_user.is_authenticated: # 如果用户已经登录 if Gift.query.filter_by( uid=current_user.id, isbn=isbn, launched=False).first(): # 如果赠送列表中有记录,说明这个用户要送出这本书 in_gift_list = True if Wish.query.filter_by( uid=current_user.id, isbn=isbn, # 说明用户想要这本书 launched=False).first(): in_wish_list = True # 该书赠送列表中的所有记录 gift_records = Gift.query.filter_by(isbn=isbn, launched=False).all() # 该书心愿列表中的所有记录 wish_records = Wish.query.filter_by(isbn=isbn, launched=False).all() gift_models = TradeInfo(gift_records) wish_models = TradeInfo(wish_records) return render_template('book_detail.html', book=book, wishes=wish_models, gifts=gift_models, has_in_wisher=in_wish_list, has_in_gifts=in_gift_list)
def book_detail(isbn): has_in_gifts = False has_in_wishes = False # 判断用户是否登录 if current_user.is_authenticated: # status是逻辑删除的标志,由于每次查询都要加上status=1不方便,这里在base model重写了filter_by 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 # 取书籍详情数据 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_gifts_model = TradeInfo(trade_gifts) trade_wishes_model = TradeInfo(trade_wishes) return render_template('book_detail.html', book=book, wishes=trade_wishes_model, gifts=trade_gifts_model, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes)
def book_detail(isbn): # 要想判断书籍是否在赠送或者心愿清单中,先对其赋初始值 has_in_gifts = False has_in_wishes = False # 获取书籍详情页面 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) # 首先判断用户是否登录系统,可以使用is_authenticated插件 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 # 查询包含所有赠送者的信息 trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() #查询包含所有索要者的清单 trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() # 查询数据传入到TradeInfo视图模型中处理数据 trade_wishes_model = TradeInfo(trade_wishes) trade_gifts_model = TradeInfo(trade_gifts) return render_template('book_detail.html', book=book, wishes=trade_wishes_model, gifts=trade_gifts_model, has_in_wishes=has_in_wishes, has_in_gifts=has_in_gifts)
def book_detail(isbn): has_in_gifts = False has_in_wishes = False yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() 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 trade_wishes_model = TradeInfo(trade_wishes) trade_gifts_model = TradeInfo(trade_gifts) return render_template('book_detail.html', book=book, wishes=trade_wishes_model, gifts=trade_gifts_model, has_in_wishes=has_in_wishes, has_in_gifts=has_in_gifts)
def book_detail(isbn): has_in_gifts = False has_in_wishes = False fisher = FisherBook() fisher.search_by_isbn(isbn) book = BookView(fisher.first) 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 # 所有赠送者的信息 trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() # 所有索要者的信息 trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_wishes_model = TradeInfo(trade_wishes) trade_gifts_model = TradeInfo(trade_gifts) return render_template('book_detail.html', book=book, wishes=trade_wishes_model, gifts=trade_gifts_model, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes)
def book_detail(isbn): has_in_gifts = False has_in_wishes = False # 获取书籍详情数据 book = Book() book.search_by_isbn(isbn) book_details = BookViewModel(book.first) # return jsonify(book_detail.__dict__) # return json.dumps(book_detail, default=lambda o: o.__dict__) if current_user.is_authenticated: if Gift.query.filter_by(uid=current_user.id, isbn=isbn, launched=False).first(): has_in_gifts = True if Gift.query.filter_by(uid=current_user.id, isbn=isbn, launched=False).first(): has_in_gifts = True trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_gifts_model = TradeInfo(trade_gifts) trade_wishes_model = TradeInfo(trade_wishes) return render_template('book_detail.html', book=book_details, gifts=trade_gifts_model, wishes=trade_wishes_model, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes)
def book_detail(isbn): """ search result -> click book -> book detail has_in_gifts/has_in_wishes: is gift or wish of current user :param isbn: :return: """ has_in_gifts = False has_in_wishes = False panda_book = PandaBook() panda_book.search_by_isbn(isbn) book = BookViewModel(panda_book.first) 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 # fetch user list trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_gifts_model = TradeInfo(trade_gifts) trade_wishes_model = TradeInfo(trade_wishes) return render_template('book_detail.html', book=book, wishes=trade_wishes_model, gifts=trade_gifts_model, has_in_wishes=has_in_wishes, has_in_gifts=has_in_gifts)
def book_detail(isbn): has_in_gifts = False # 默认情况下,书籍是否在礼物清单 has_in_wishes = False # 是否在心愿清单 # 取书籍详情数据 yushu_book = YushuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) 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 trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() # 页面还需要user、create_time # 数据转换 => viewModel # wishes gifts trade_gifts_model = TradeInfo(trade_gifts) trade_wishes_model = TradeInfo(trade_wishes) return render_template('book_detail.html', book=book, wishes=trade_wishes_model, gifts=trade_gifts_model, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes)
def book_detail(isbn): # 默认既不在心愿清单和礼物清单 has_in_gifts = False has_in_wishes = False # 获取书籍详情 yushu_books = YuShuBook() yushu_books.search_by_isbn(isbn) books = BookViewModel(yushu_books.get_book) 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 # 查询当前isbn的礼物清单和心愿清单 trade_gift = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wish = Wish.query.filter_by(isbn=isbn, launched=False).all() gift_model = TradeInfo(trade_gift) wish_model = TradeInfo(trade_wish) # 处理数据 return render_template('book_detail.html', book=books, wishes=wish_model, gifts=gift_model, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes)
def book_detail(isbn): ''' # url中传入isbn,确定哪本书 ''' has_in_gifts = False has_in_wishes = False # 取书籍详细数据 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) # 判断用户是否登陆,如果是True,表示用户处于登录状态 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 # 表示心愿清单已有 # 若未登录,则不用做处理,当做就没有赠送清单,也没有心愿清单 trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_wishes_model = TradeInfo(trade_wishes) trade_gifts_model = TradeInfo(trade_gifts) return render_template('book_detail.html', book=book, wishes=trade_wishes_model, gifts=trade_gifts_model, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes)
def book_detail(isbn): has_in_gifts = False has_in_wishes = False # 联系到 User中 can_save_to_list 方法讲过的,及我们的产品设计,一个人不能同时既赠送此书又希望得到此书 # 书本对应用户一共会存在三种关系: # 1、既不在赠送清单也不在心愿清单中 2、在赠送清单但不在心愿清单中 3、在心愿清单但不在赠送清单中 # 获取书籍数据 data = YuShuBook.search_by_isbn(isbn) book = BookViewModel.handle_book_data(data) # 判断用户是否登录 if current_user.is_authenticated: if Gift.query.filter_by(uid=current_user.id, isbn=isbn, launched=False).first(): # 之前有讲过我们使用的是软删除,这个时候我们其实还需要在filter_by中添加 status=1 # 这是类似废话的一句话,那么我们怎样便捷的在所有的查询中加入这么一个条件呢? has_in_gifts = True if Wish.query.filter_by(uid=current_user.id, isbn=isbn, launched=False).first(): has_in_wishes = True trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() wishes = TradeInfo(trade_wishes) gifts = TradeInfo(trade_gifts) return render_template('book_detail.html', book=book, wishes=wishes, gifts=gifts, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes)
def book_detail(isbn): has_in_gift = False #未登录的状态下,默认在赠送清单中没有这本书 has_in_wish = False #未登录的状态下,默认在心愿清单中没有这本书 if current_user.is_authenticated: # 判断用户是否登录 if Gift.query.filter_by( uid=current_user.id, #在用户的赠送清单中查找 isbn=isbn, #在查找的时候应该通过status属性判断是否已删除 launched=False).first( ): #此处通过继承BaseQuery,重写filter_by方法实现(在base.py中) has_in_gift = True #用户的赠送清单中有这本书,has_in_gift修改为True if Wish.query.filter_by(uid=current_user.id, isbn=isbn, launched=False).first(): has_in_wish = True date = YuShu_Book.search_by_isbn(isbn) book = BookViewModel.handle_book_date(date) trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() #在赠送清单中查找是否存在 trade_wishs = Wish.query.filter_by(isbn=isbn, launched=False).all() #在心愿清单中查找是否存在 gifts = TradeInfo(trade_gifts) wishs = TradeInfo(trade_wishs) return render_template( 'book_detail.html', book=book, #返回书本详情页面 wishes=wishs, gifts=gifts, has_in_gifts=has_in_gift, has_in_wishs=has_in_wish)
def book_detail(isbn): has_in_gifts = False has_in_wishes = False # 获取图书信息 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) if current_user.is_authenticated: # 如果未登录,current_user将是一个匿名用户对象 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 # if has_in_gifts: trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes_model = TradeInfo(trade_wishes) trade_gifts_model = TradeInfo(trade_gifts) print('---trade_wishes_model---', trade_wishes_model) return render_template('book_detail.html', book=book, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes, wishes=trade_wishes_model, gifts=trade_gifts_model)
def book_detail(isbn): # 判断是否在赠送和心愿清单 has_in_gifts = False has_in_wishes = False # 取数据的详情页面 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) # 判断用户是否登录,是否在用的心愿和礼物清单 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 # 查询数据库的模型数据 trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() # 规整模型数据 trade_wishes_model = TradeInfo(trade_wishes) trade_gifts_model = TradeInfo(trade_gifts) return render_template('book_detail.html', book=book, wishes=trade_wishes_model, gifts=trade_gifts_model, has_in_wishes=has_in_wishes, has_in_gifts=has_in_gifts)
def book_detail(isbn): # 取出每本书的详情 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) # 三种情况的判断 has_in_gifts = current_user.is_authenticated and current_user.has_in_gifts( isbn) has_in_wishes = current_user.is_authenticated and current_user.has_in_wishs( isbn) # 赠书人列表和索要人列表 trade_gifts = Gift.query.filter_by(isbn=isbn).all() trade_wishs = Wish.query.filter_by(isbn=isbn).all() trade_wishs_model = TradeInfo(trade_wishs) trade_gifts_model = TradeInfo(trade_gifts) return render_template("book_detail.html", book=book, wishes=trade_wishs_model, gifts=trade_gifts_model, has_in_wishes=has_in_wishes, has_in_gifts=has_in_gifts)
def book_detail(isbn): has_in_gifts = False has_is_wishes = False # 取书籍所有详情数据 fish_book = FishBook() fish_book.search_by_isbn(isbn) # book = BookViewModel(fish_book.books[0]) book = BookViewModel(fish_book.first) # 检查书籍是否在礼物清单或心愿清单中 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_is_wishes = True trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() # 交易模型 trade_gifts_model = TradeInfo(trade_gifts) trade_wishes_model = TradeInfo(trade_wishes) return render_template("book_detail.html", book=book, wishes=trade_wishes_model, gifts=trade_gifts_model, has_in_gifts=has_in_gifts, has_in_washes=has_is_wishes)
def book_detail(isbn): # 去书籍详情数据 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) has_in_wishes, has_in_gifts = __confirm_book_state(isbn) trade_gifts = TradeInfo( Gift.query.filter_by(isbn=isbn, launched=False).all()) trade_wishes = TradeInfo( Wish.query.filter_by(isbn=isbn, launched=False).all()) return render_template('book_detail.html', book=book, wishes=trade_wishes, gifts=trade_gifts, has_in_wishes=has_in_wishes, has_in_gifts=has_in_gifts)
def book_detail(isbn): # 如何拿到这本书的字典?现在有isbn,到api上找到这本书,返回一个 """ 1右上角显示,根据current_user来判断 2如果这个用户的wish,gift都没有,中间是显示 '赠送此书,加入心愿单',如果用户的wish有,那么只显示"已经加入心愿清单",如果用户的gift有,那么只显示"只赠送".判断这本书是不是在wish里, 3显示几个人想要,拿到这本书的wish然后可以查到多少人,这是多对多关系的一个功能 4是显示向他们请求此书,还是向他们赠送此书?根据一个标志来确定,这个跟current_user有关,如果wish中有它,没有wish也没gifts,那么显示"向他们请求",否则"向他们赠送"。向他们请求,显示这本书的所有gift的用户信息。 模板中的对象:wishes.total,wishes.trades[gift{user_name,time,id}],has_in_wishes :param isbn: :return: """ has_in_gifts = False has_in_wishes = False # 取书籍详情数据 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) # MVC MVT 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 trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_wishes_model = TradeInfo(trade_wishes) trade_gifts_model = TradeInfo(trade_gifts) return render_template('book_detail.html', book=book, wishes=trade_wishes_model, gifts=trade_gifts_model, has_in_wishes=has_in_wishes, has_in_gifts=has_in_gifts)
def detail(isbn): has_in_gifts = False has_in_wishs = False if current_user.is_authenticated: if Gift.query.filter_by(isbn=isbn, uid=current_user.id, launched=False).first(): has_in_gifts = True if Wish.query.filter_by(isbn=isbn, uid=current_user.id, launched=False).first(): has_in_wishs = True yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) bookdetail = BookViewModel(yushu_book.firstbook) trade_gift = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wish = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_wish_gift = TradeInfo(trade_gift) trade_wish_wish = TradeInfo(trade_wish) return render_template("book_detail.html", book=bookdetail, gifts=trade_wish_gift, wishs=trade_wish_wish, has_in_gifts=has_in_gifts, has_in_wishs=has_in_wishs)
def book_detail(isbn): has_in_gifts = False has_in_wishes = False # 取书籍详情数据 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) # MVC MVT 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 trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_wishes_model = TradeInfo(trade_wishes) trade_gifts_model = TradeInfo(trade_gifts) return render_template('book_detail.html', book=book, wishes=trade_wishes_model, gifts=trade_gifts_model, has_in_wishes=has_in_wishes, has_in_gifts=has_in_gifts) # @web.route('/test') # def test(): # r = { # 'name':'lee', # 'age':18 # } # flash('hello, lee') # return render_template('test.html', data = r)
def book_detail(isbn): # 一本书默认不在赠送清单,也不在心愿清单 has_in_gifts = False has_in_wishes = False # 取书籍的详情数据 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) # MVC MVT if current_user.is_authenticated: if Gift.query.filter_by( uid=current_user.id, isbn=isbn, launched=False, status=current_app.config['BOOK_STATUS_OK']).first(): has_in_gifts = True if Wish.query.filter_by( uid=current_user.id, isbn=isbn, launched=False, status=current_app.config['BOOK_STATUS_OK']).first(): has_in_wishes = True trade_gifts = Gift.query.filter_by( isbn=isbn, launched=False, status=current_app.config['BOOK_STATUS_OK']).all() trade_wishs = Wish.query.filter_by( isbn=isbn, launched=False, status=current_app.config['BOOK_STATUS_OK']).all() trad_gift = TradeInfo(trade_gifts) trad_wish = TradeInfo(trade_wishs) return render_template('book_detail.html', book=book, wishes=trad_wish, gifts=trad_gift, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes)
def book_detail(isbn): """ 1. 当书籍既不在心愿清单也不在礼物清单时,显示礼物清单 2. 当书籍在心愿清单时,显示礼物清单 3. 当书籍在礼物清单时,显示心愿清单 4. 一本书要防止即在礼物清单,又在赠送清单,这种情况是不符合逻辑的 这个视图函数不可以直接用cache缓存,因为不同的用户看到的视图不一样 优化是一个逐步迭代的过程,建议在优化的初期,只缓存那些和用户无关的“公共数据" """ has_in_gifts = False has_in_wishes = False # isbn_or_key = is_isbn_or_key(isbn) # if isbn_or_key == 'isbn': # 获取图书信息 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) if current_user.is_authenticated: # 如果未登录,current_user将是一个匿名用户对象 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 # # if has_in_gifts: trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes_model = TradeInfo(trade_wishes) trade_gifts_model = TradeInfo(trade_gifts) return render_template('book_detail.html', book=book, wishes=trade_wishes_model, has_in_gifts=has_in_gifts, has_in_wishes=has_in_wishes, gifts=trade_gifts_model)
def book_detail(isbn): #初始变量 图书不在 赠送礼物清单 也不在 索要心愿清单中 不可能即在礼物清单也在心愿清单 #查询 此图书在礼物清单中的用户 此图书在心愿清单中的用户 #当前用户 指定的isbn图书 即不在赠送礼物清单 也不在索要礼物心愿清单 has_in_gifts = False has_in_wishes = False # 查询指定isbn的图书 # 裁剪指定isbn返回的原始数据 为 想要的数据 yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) book = BookViewModel(yushu_book.first) # 当前用户有 指定isbn图书在 赠送礼物清单中 # 当前用户有 指定isbn图书在 索要礼物心愿清单中 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 # 指定isbn 所有赠送者(礼物清单)的 用户清单 # 指定isbn 所有索要者(心愿清单)的 用户清单 trade_gifts = Gift.query.filter_by(isbn=isbn, launched=False).all() trade_wishes = Wish.query.filter_by(isbn=isbn, launched=False).all() trade_wishes_model = TradeInfo(trade_wishes) trade_gifts_model = TradeInfo(trade_gifts) return render_template('book_detail.html', book=book, wishes=trade_wishes_model, gifts=trade_gifts_model, has_in_wishes=has_in_wishes, has_in_gifts=has_in_gifts)
def book_detail(isbn): has_in_gifts=False #当前用户是否是赠送者 has_in_wishes=False #当前用户是否是索求者 #取书籍详情数据 yushu_book=YuShuBook() yushu_book.search_by_isbn(isbn) book=BookViewModel(yushu_book.first) 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 trade_gifts=Gift.query.filter_by(isbn=isbn,launched=False).all() #查询所有赠送人的清单 trade_wishes=Wish.query.filter_by(isbn=isbn,launched=False).all() #查询所有想要书的人的清单 trade_wishes_model=TradeInfo(trade_wishes) #将从数据库提取出来的数据结构变形成可供页面识别的数据结构 trade_gifts_model=TradeInfo(trade_gifts) return render_template('book_detail.html',book=book,wishes=trade_wishes_model, gifts=trade_gifts_model,has_in_gifts=has_in_gifts,has_in_wishes=has_in_wishes)