Exemple #1
0
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)
Exemple #2
0
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)
Exemple #3
0
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)
Exemple #4
0
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)
Exemple #5
0
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)
Exemple #6
0
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)
Exemple #7
0
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)
Exemple #8
0
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)
Exemple #9
0
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)
Exemple #10
0
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)
Exemple #11
0
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)
Exemple #12
0
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)
Exemple #13
0
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)
Exemple #14
0
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)
Exemple #15
0
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)
Exemple #16
0
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)
Exemple #17
0
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)
Exemple #18
0
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)
Exemple #19
0
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)
Exemple #20
0
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)
Exemple #21
0
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)
Exemple #22
0
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)
Exemple #23
0
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)
Exemple #24
0
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)
Exemple #25
0
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)
Exemple #26
0
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)
Exemple #27
0
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)
Exemple #28
0
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)
Exemple #29
0
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)
Exemple #30
0
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)