def index(page=1, page_size=20): """快递列表""" g.page_type = 'search' g.title = u'快递列表' g.add_new = True g.button_name = u'新增快递' args = request.args shipping_name = args.get('shipping_name', '').strip() shipping_code = args.get('shipping_code', '').strip() is_default = toint(args.get('is_default', '-1')) q = Shipping.query if shipping_name: q = q.filter(Shipping.shipping_name.like(u'%' + shipping_name + u'%')) if shipping_code: q = q.filter(Shipping.shipping_code.like(u'%' + shipping_code + u'%')) if is_default >= 0: q = q.filter(Shipping.is_default == is_default) s_count = get_count(q) shipping_list = q.order_by(Shipping.shipping_id.desc()).offset((page-1)*page_size).\ limit(page_size).all() pagination = Pagination(None, page, page_size, s_count, None) res = make_response(render_template('shipping/index.html.j2', **locals())) res.set_cookie('goback_url', request.url) return res
def goods_index(page=1, page_size=20): """商品评价列表""" g.title = u'商品评价列表' g.page_type = 'search' args = request.args goods_id = toint(args.get('goods_id', '0')) goods_name = args.get('goods_name', '') q = Goods.query if goods_id > 0: q = q.filter(Goods.goods_id == goods_id) if goods_name: q = q.filter(Goods.goods_name.like(u'%' + goods_name + u'%')) goods_count = get_count(q) goods_list = q.order_by(Goods.goods_id.desc()).offset((page-1)*page_size).\ limit(page_size).all() pagination = Pagination(None, page, page_size, goods_count, None) res = make_response( render_template('comment/goods_index.html', goods_list=goods_list, pagination=pagination)) res.set_cookie('goback_url', request.url) return res
def attr_group_list(page=1, page_size=20): """ 属性组列表 """ g.page_type = 'search' g.title = u'属性组列表' args = request.args ag_name = args.get('ag_name', '').strip() ag_type = toint(args.get('ag_type', -1)) q = AttrGroup.query if ag_name: like_ag_name = u'%' + ag_name + u'%' q = q.filter(AttrGroup.ag_name.like(like_ag_name)) if ag_type >= 0: ag_type = ag_type if ag_type in (1,2) else 0 q = q.filter(AttrGroup.ag_type == ag_type) group_count = get_count(q) group_list = q.order_by(AttrGroup.ag_id.desc()).all() pagination = Pagination(None, page, page_size, group_count, None) res = make_response(render_template('goods/attr_group_list.html.j2', group_list=group_list, pagination=pagination)) res.set_cookie('goback_url', request.url) return res
def handle(**kwargs): HOST = "http://eutils.ncbi.nlm.nih.gov" SEARCH_URL = "{0}/entrez/eutils/esearch.fcgi/".format(HOST) SUMMARY_URL = "{0}/entrez/eutils/esummary.fcgi".format(HOST) search_args = { 'db': kwargs.get("db", "pmc"), 'term': kwargs.get("term", 'PD1'), 'retstart': (int(kwargs.get("page", 1)) - 1) * 10, 'retmax': '10', 'retmode': 'json', 'sort': 'pub+date', } result = {"data": [], "totalCount": 0, "retstart": 0, "retmax": 10} try: data = NCBISearch(**search_args) result["totalCount"] = int(data["esearchresult"]["count"]) result["retstart"] = int(data["esearchresult"]["retstart"]) result["retmax"] = 10 ulist = ",".join(data["esearchresult"]["idlist"]) result["data"] = NCBIFetch(**{ "db": kwargs.get("db", "pmc"), "id": ulist }) except: pass return Pagination(None, int(kwargs.get("page", 0)), 10, result["totalCount"], result["data"])
def index(page=1, page_size=20): """优惠券列表""" g.title = u'优惠券列表' g.page_type = 'search' g.add_new = True g.button_name = u'发放优惠券' args = request.args cb_name = args.get('cb_name', '').strip() coupon_name = args.get('coupon_name', '').strip() is_valid = toint(args.get('is_valid', -1)) begin_add_time = args.get('begin_add_time', '') end_add_time = args.get('end_add_time', '') query_dict = { 'cb_name': cb_name, 'coupon_name': coupon_name, 'is_valid': is_valid, 'begin_add_time': begin_add_time, 'end_add_time': end_add_time, } q = CouponBatch.query q = easy_query_filter(CouponBatch, q, query_dict) coupon_count = get_count(q) coupon_list = q.order_by(CouponBatch.add_time.desc()).offset((page-1)*page_size).\ limit(page_size).all() pagination = Pagination(None, page, page_size, coupon_count, None) res = make_response(render_template('coupon/index.html', **locals())) res.set_cookie('goback_url', request.url) return res
def question_detail(page=1, page_size=20): """回答详情""" g.page_type = '' g.title = u'回答详情' args = request.args question_id = toint(args.get('question_id', '0')) uid = toint(args.get('uid', '0')) check_type = toint(args.get('check_type', '1')) query_type = toint(args.get('query_type', '1')) user = User.get(uid) if not user: return u'找不到用户' question = Question.get(question_id) if not question: return u'找不到提问的问题' qa_query = QuestionAnswer.query.filter(QuestionAnswer.uid == uid).\ filter(QuestionAnswer.question_id == question_id) qa_count = get_count(qa_query) qa_list = qa_query.order_by(QuestionAnswer.add_time.desc()).\ offset((page-1)*page_size).limit(page_size).all() pagination = Pagination(None, page, page_size, qa_count, None) return render_template('user/question_detail.html.j2', f=question, **locals())
def troy_list(page=1, page_size=20): """ 马甲用户列表 """ g.page_type = 'search' g.title = u'马甲用户列表' g.add_new = True g.button_name = u'添加马甲用户' args = request.args uid = toint(args.get('uid', 0)) nickname = args.get('nickname', '').strip() q = db.session.query(UserTroy.add_time, User.uid, User.nickname, User.avatar).\ filter(UserTroy.uid == User.uid) if uid: q = q.filter(UserTroy.uid == uid) if nickname: like_nickname = u'%' + nickname + u'%' q = q.filter(User.nickname.like(like_nickname)) troy_count = get_count(q) troy_list = q.order_by(UserTroy.uid.desc()).\ offset((page-1)*page_size).limit(page_size).all() pagination = Pagination(None, page, page_size, troy_count, None) res = make_response(render_template('user/troy_list.html.j2', troy_list=troy_list, pagination=pagination)) res.set_cookie('goback_url', request.url) return res
def recharge_card_list(page=1, page_size=20): """充值卡列表""" g.page_type = 'search' g.title = u'充值卡列表' g.add_new = True g.button_name = u'新增充值卡' param_dict = get_params({'rc_id': int, 'amount': str, 'gift': str}) query_dict = { 'rc_id': param_dict['rc_id'], 'amount': param_dict['amount'], 'gift': param_dict['gift'] } q = RechargeCard.query q = easy_query_filter(RechargeCard, q, query_dict) recharge_card_count = get_count(q) recharge_card_list = q.order_by(RechargeCard.rc_id.desc()).offset((page-1)*page_size).\ limit(page_size).all() pagination = Pagination(None, page, page_size, recharge_card_count, None) res = make_response( render_template('sys/recharge_card_list.html.j2', **locals())) res.set_cookie('goback_url', request.url) return res
def index(page=1, page_size=20): """用户列表""" g.page_type = 'search' g.title = u'用户列表' args = request.args mobile = args.get('mobile', '').strip() nickname = args.get('nickname', '').strip() gender = toint(args.get('gender', '0')) q = User.query if gender > 0: q = q.filter(User.gender == gender) if nickname: like_nickname = u'%' + nickname + u'%' q = q.filter(User.nickname.like(like_nickname)) if mobile: like_mobile = u'%' + mobile + u'%' q = q.filter(User.mobile.like(like_mobile)) user_count = get_count(q) user_list = q.order_by(User.uid.desc()).offset((page-1)*page_size).\ limit(page_size).all() pagination = Pagination(None, page, page_size, user_count, None) res = make_response(render_template('user/index.html.j2', user_list=user_list, pagination=pagination)) res.set_cookie('goback_url', request.url) return res
def ic_list(page=1, page_size=20): """图片分类列表""" g.page_type = 'search' g.title = u'图片分类列表' g.add_new = True g.button_name = u'新增分类' args = request.args ic_name = args.get('ic_name', '').strip() q = ImgCategory.query if ic_name: like_mobile = u'%' + ic_name + u'%' q = q.filter(ImgCategory.ic_name.like(like_mobile)) ic_count = get_count(q) ic_list = q.order_by(ImgCategory.add_time.desc()).offset((page-1)*page_size).\ limit(page_size).all() pagination = Pagination(None, page, page_size, ic_count, None) res = make_response(render_template('img/ic_list.html.j2', **locals())) res.set_cookie('goback_url', request.url) return res
def admin_add(page=1, page_size=20): """用户角色添加""" g.title = u'用户角色添加' g.page_type = '' args = request.args errmsg = args.get('errmsg', '') mobile = args.get('mobile', '') role_id = toint(args.get('role_id', '0')) if errmsg: g.errmsg = eval(errmsg) log_debug('errmsg:%s'%g.errmsg) q = db.session.query(User.uid, User.avatar, User.mobile, User.nickname, UserAdmin.id, UserAdmin.role_id).\ filter(User.uid == UserAdmin.uid).\ filter(UserAdmin.role_id > 1) admin_count = get_count(q) admin_list = q.order_by(UserAdmin.id.desc()).offset((page-1)*page_size).limit(page_size).all() role_list = db.session.query(Role.role_id, Role.role_name).\ order_by(Role.role_id.asc()).all() # html页面显示角色名称 role_dict = role_name() pagination = Pagination(None, page, page_size, admin_count, None) return render_template('power/admin_add.html.j2', f={'mobile':mobile},**locals())
def column_list(page=1, page_size=20): """ 商品栏目列表 """ g.page_type = 'search' g.title = u'商品栏目列表' args = request.args gc_id = toint(args.get('gc_id', '0')) column_name = args.get('column_name', '').strip() status = toint(args.get('status', '-1')) begin_add_time = args.get('begin_add_time', '') end_add_time = args.get('end_add_time', '') gc_id = gc_id if gc_id > 0 or args.get('gc_id', '') == '0' else -1 query_dict = {'gc_id':gc_id,'column_name':column_name,'status':status,'begin_add_time':begin_add_time,'end_add_time':end_add_time,} q = GoodsColumn.query q = easy_query_filter(GoodsColumn,q,query_dict) column_count = get_count(q) column_list = q.order_by(GoodsColumn.gc_id.desc()).all() pagination = Pagination(None, page, page_size, column_count, None) res = make_response(render_template('goods/column.html.j2', column_list=column_list, pagination=pagination)) res.set_cookie('goback_url', request.url) return res
def j_search_user(): email = request.args.get('email', '') query = request.args.get('query', '') page = get_arg('page', 1) type = request.args.get('type', '') #print "query is ",query if (type == 'user'): type = User.USER_TYPE.USER try: if email: user = UserBiz.get_user_by_email(email, type) users_pager = Pagination(None, 1, 1, 1, [user]) else: users_pager = UserBiz.get_by_like(query, type, page, per_page=10) except DaixieError as e: return j_err(e) users = [{ 'id': user.email, 'text': user.email, 'account': user.account } for user in users_pager.items if user] return j_ok(u'搜索成功', items=users, pages=users_pager.pages)
def lottery_temp_detail(page=1, page_size=20): """一元云购活动模板详情""" g.page_type = '' g.title = u'一元云购活动模板详情' lt_id = toint(request.args.get('lt_id', '0')) lottery_temp_info = LotteryTemplate.query.filter( LotteryTemplate.lt_id == lt_id).first() goods_list = Goods.query.filter(Goods.kind == 2).\ filter(Goods.is_sale == 1).all() if lottery_temp_info is None: return u'一元云购活动模板不存在' param_dict = get_params({ 'lottery_id': int, 'section_number': int, 'query_goods_id': int, 'lottery_name': str, 'lottery_status': int, 'begin_add_time': str, 'end_add_time': str }) query_dict = { 'lottery_id': param_dict['lottery_id'], 'section_number': param_dict['section_number'], 'goods_id': param_dict['query_goods_id'], 'lottery_name': param_dict['lottery_name'], 'lottery_status': param_dict['lottery_status'], 'begin_add_time': param_dict['begin_add_time'], 'end_add_time': param_dict['end_add_time'], } q = db.session.query(Lottery.lottery_id, Lottery.section_number, Goods.goods_name, Lottery.goods_id, Lottery.lottery_name, Lottery.lottery_img, Lottery.lottery_price, Lottery.lottery_status, Lottery.schedule, Lottery.announced_time, Lottery.add_time).\ filter(Lottery.goods_id == Goods.goods_id).\ filter(Goods.kind == 2).\ filter(Lottery.lt_id == lt_id) q = easy_query_filter(Lottery, q, query_dict) # 商品列表 goods_query_list = [{'name': u'请选择……', 'value': '-1'}] goods_query_list_temp = db.session.query(Goods.goods_name, Goods.goods_id).\ group_by(Goods.goods_id).all() for goods in goods_query_list_temp: gs = {'name': goods.goods_name, 'value': goods.goods_id} goods_query_list.append(gs) lottery_count = get_count(q) lottery_list = q.order_by(Lottery.lottery_id.desc()).offset((page-1)*page_size).\ limit(page_size).all() pagination = Pagination(None, page, page_size, lottery_count, None) return render_template('lottery/add_template.html.j2', f=lottery_temp_info, **locals())
def list_pagination(query_list, page=1, page_size=20): pagination = Pagination(None, page, page_size, len(query_list), None) if page and page_size and len(query_list) > 0: a = (page - 1) * page_size b = ((page - 1) * page_size + page_size) if page > 1 else page_size query_list = query_list[a:b] return [query_list, pagination]
def index(page=1, page_size=20): """图片列表""" g.page_type = 'search' g.title = u'图片列表' g.add_new = True g.button_name = u'新增图片' args = request.args img_title = args.get('img_title', '').strip() ic_id = toint(args.get('ic_id', '0')) img_id = toint(args.get('img_id', '0')) is_display = toint(args.get('is_display', '-1')) begin_add_time = args.get('begin_add_time', '').strip() end_add_time = args.get('end_add_time', '').strip() q = Img.query if ic_id > 0: q = q.filter(Img.ic_id == ic_id) if img_id > 0: q = q.filter(Img.img_id == img_id) if is_display > 0: q = q.filter(Img.is_display == is_display) if img_title: like_mobile = u'%' + img_title + u'%' q = q.filter(Img.img_title.like(like_mobile)) if begin_add_time: begin_time = time.mktime(time.strptime(begin_add_time, '%Y-%m-%d')) q = q.filter(Img.add_time >= begin_time) if end_add_time: end_add_time = time.mktime(time.strptime(end_add_time, '%Y-%m-%d')) + 24 * 3600 q = q.filter(Img.add_time < end_add_time) img_count = get_count(q) img_list = q.order_by(Img.img_id.desc()).offset((page-1)*page_size).\ limit(page_size).all() ic_temp = db.session.query(ImgCategory.ic_id, ImgCategory.ic_name).\ order_by(ImgCategory.ic_id.desc()).all() ic_dict, ic_list = {}, [] for ic in ic_temp: if ic.ic_name: ic_dict = {'value': ic.ic_id, 'name': ic.ic_name} ic_list.append(ic_dict) pagination = Pagination(None, page, page_size, img_count, None) res = make_response(render_template('img/index.html.j2', **locals())) res.set_cookie('goback_url', request.url) return res
def search(page): per_page = 50 q = request.args.get("q", "") q = "%{}%".format(q) q = db.session.query(OnionAddress).filter(OnionAddress.address.ilike(q)).order_by(OnionAddress.last_seen.desc()) total = q.count() onion_addresses = q.limit(per_page).offset((page - 1) * per_page).all() pagination = Pagination(q, page, per_page, total, onion_addresses) return render_template("index.html", pagination=pagination, total_count=total)
def get_home_page_paginate(cls, type, page, per_page): paginate = HomePage.query_home_page_paginate( type=type, page=page, is_online=1, per_page=per_page ) items = Resource.format_paginate_items(paginate) return Pagination(None, page, per_page, paginate.total, items)
def ordinary_list(page=1, page_size=20): """普通订单列表""" g.title = u'普通订单列表' g.page_type = 'search' param_dict = get_params({ 'order_id': int, 'order_status': int, 'pay_status': int, 'order_amount': int, 'begin_paid_time': str, 'end_paid_time': str, 'shipping_sn': str, 'shipping_status': int, 'deliver_status': int, 'is_comment': int, 'begin_add_time': str, 'end_add_time': str }) query_dict = { 'order_id': param_dict['order_id'], 'pay_status': param_dict['pay_status'], 'order_status': param_dict['order_status'], 'order_amount': param_dict['order_amount'], 'shipping_sn': param_dict['shipping_sn'], 'shipping_status': param_dict['shipping_status'], 'deliver_status': param_dict['deliver_status'], 'is_comment': param_dict['is_comment'], 'begin_add_time': param_dict['begin_add_time'], 'end_add_time': param_dict['end_add_time'], 'begin_paid_time': param_dict['begin_paid_time'], 'end_paid_time': param_dict['end_paid_time'] } q = db.session.query(Order.order_id, Order.uid, Order.order_status, Order.order_desc, Order.order_amount, Order.shipping_sn, Order.shipping_status, Order.deliver_status, Order.is_comment, Order.add_time, Order.paid_time, Order.pay_status).\ filter(Order.uid == User.uid).\ filter(Order.order_type == 1) q = easy_query_filter(Order, q, query_dict) order_count = get_count(q) order_list = q.order_by(Order.add_time.desc()).offset((page-1)*page_size).\ limit(page_size).all() (USERNAME, MOBILE, NICKNAME, AVATAR, REALNAME, GENDER) = get_user_data() pagination = Pagination(None, page, page_size, order_count, None) res = make_response( render_template('order/ordinary_list.html.j2', f={ 'lt_id': '', 'lottery_id': '' }, **locals())) res.set_cookie('goback_url', request.url) return res
def route_forum_thread(thread, page): thread = ForumThread.query.filter(ForumThread.id == thread).first() if not thread: return redirect(url_for('route_forum')) if thread.deleted and session.get('access', 0) != ADMIN_ACCOUNT_TYPE: return redirect(url_for('route_forum')) player = db.session().query( Player.name, Player.level, Player.vocation, Player.town_id, Player.group_id, Player.postcount, Player.signature, Player.looktype, Player.lookhead, Player.lookbody, Player.looklegs, Player.lookfeet, Player.lookaddons).filter(Player.id == thread.author_id).first() if player: thread.player = player total = db.session().query( ForumPost.id).filter(ForumPost.thread_id == thread.id).count() perpage = POSTS_PER_PAGE posts = ForumPost.query.filter(ForumPost.thread_id == thread.id) if session.get('access', 0) != ADMIN_ACCOUNT_TYPE: posts = posts.filter(ForumPost.deleted == 0) posts = posts.order_by(ForumPost.timestamp.asc()) posts = posts.offset((page - 1) * perpage) posts = posts.limit(perpage).all() for post in posts: player = db.session().query( Player.name, Player.level, Player.vocation, Player.town_id, Player.group_id, Player.postcount, Player.signature, Player.looktype, Player.lookhead, Player.lookbody, Player.looklegs, Player.lookfeet, Player.lookaddons).filter(Player.id == post.author_id).first() if player: post.player = player user = current_user() characters = None if user: characters = db.session().query( Player.id, Player.name).filter(Player.account_id == user.id).all() pagination = Pagination(posts, page, perpage, total, posts) return render_template('forum/thread.htm', thread=thread, posts=posts, characters=characters, pagination=pagination, perpage=perpage, page=page)
def show_uncategorized(page): """Shows all posts which aren't in any category""" per_page = current_app.config['POSTS_PER_PAGE'] posts = Post.query.filter(Post.categories==None) if not session.get('logged_in'): posts = posts.filter_by(visible=True) items = posts.limit(per_page).offset((page - 1) * per_page).all() pagination = Pagination(posts, page=page, per_page=per_page, total=posts.count(), items=items) flash("Uncategorized posts") return render_template('posts.html', pagination=pagination, endpoint_func=lambda x: url_for('main.show_uncategorized', page=x))
def show_tag(tag, page): """Shows all posts with a specific tag""" per_page = current_app.config['POSTS_PER_PAGE'] tag = Tag.query.filter_by(name=tag).first() or abort(404) posts = tag.posts.order_by(Post.id.desc()) if not session.get('logged_in'): posts = posts.filter_by(visible=True) items = posts.limit(per_page).offset((page - 1) * per_page).all() pagination = Pagination(posts, page=page, per_page=per_page, total=posts.count(), items=items) flash("Posts tagged with '%s'" % tag.name) return render_template('posts.html', pagination=pagination, endpoint_func=lambda x: url_for('main.show_tag', tag=tag.name, page=x))
def index(page=1, page_size=20): """一元云购活动列表""" g.page_type = 'search' g.title = u'一元云购活动列表' param_dict = get_params({ 'lottery_id': int, 'section_number': int, 'goods_id': int, 'lottery_name': str, 'lottery_status': int, 'begin_add_time': str, 'end_add_time': str }) query_dict = { 'lottery_id': param_dict['lottery_id'], 'section_number': param_dict['section_number'], 'goods_id': param_dict['goods_id'], 'lottery_name': param_dict['lottery_name'], 'lottery_status': param_dict['lottery_status'], 'begin_add_time': param_dict['begin_add_time'], 'end_add_time': param_dict['end_add_time'], } q = db.session.query(Lottery.lottery_id, Lottery.section_number, Goods.goods_name, Lottery.goods_id, Lottery.lottery_name, Lottery.lottery_img, Lottery.lottery_price, Lottery.lottery_status, Lottery.schedule, Lottery.announced_time, Lottery.add_time).\ filter(Lottery.goods_id == Goods.goods_id).\ filter(Goods.kind == 2) q = easy_query_filter(Lottery, q, query_dict) lottery_count = get_count(q) lottery_list = q.order_by(Lottery.lottery_id.desc()).offset((page-1)*page_size).\ limit(page_size).all() # 商品列表 goods_id_list = [l.goods_id for l in lottery_list] goods_list = [{'name': u'请选择……', 'value': '-1'}] goods_list_temp = db.session.query(Goods.goods_name, Goods.goods_id).\ filter(Goods.goods_id.in_(goods_id_list)).\ group_by(Goods.goods_id).all() for goods in goods_list_temp: if goods.goods_name: gs = {'name': goods.goods_name, 'value': goods.goods_id} goods_list.append(gs) pagination = Pagination(None, page, page_size, lottery_count, None) res = make_response(render_template('lottery/index.html.j2', **locals())) res.set_cookie('goback_url', request.url) return res
def order_tran_list(page=1, page_size=20): """订单交易列表""" g.title = u'订单交易列表' g.page_type = 'search' param_dict = get_params({ 'tran_id': int, 'pay_status': int, 'begin_paid_time': str, 'end_paid_time': str, 'begin_add_time': str, 'end_add_time': str, 'order_id': int }) query_dict = { 'tran_id': param_dict['tran_id'], 'pay_status': param_dict['pay_status'], 'begin_paid_time': param_dict['begin_paid_time'], 'end_paid_time': param_dict['end_paid_time'], 'begin_add_time': param_dict['begin_add_time'], 'end_add_time': param_dict['end_add_time'], } q = OrderTran.query q = easy_query_filter(OrderTran, q, query_dict) order_id = param_dict['order_id'] if order_id > 0: q = q.filter( or_(OrderTran.order_id_list.like(u'%' + '%d,' % order_id + u'%'), OrderTran.order_id_list.like(u'%' + ',%d,' % order_id + u'%'), OrderTran.order_id_list.like(u'%' + ',%d' % order_id + u'%'), OrderTran.order_id_list.like(u'%' + '%d' % order_id + u'%'))) tran_count = get_count(q) order_tran_list = q.order_by(OrderTran.add_time.desc()).offset((page-1)*page_size).\ limit(page_size).all() for tran in order_tran_list: uid = tran.uid user_info = User.query.get(uid) tran.nickname = user_info.nickname if user_info else '' pagination = Pagination(None, page, page_size, tran_count, None) res = make_response( render_template('order/tran_list.html.j2', order_tran_list=order_tran_list, pagination=pagination)) res.set_cookie('goback_url', request.url) return res
def paginate(self, query, page, per_page=20, error_out=True): if error_out and page < 1: abort(404) items = query.limit(per_page).offset((page - 1) * per_page).all() if not items and page != 1 and error_out: abort(404) if page == 1 and len(items) < per_page: total = len(items) else: total = query.order_by(None).count() return Pagination(query, page, per_page, total, items)
def show_category(category, page): """Shows all posts in a category""" per_page = current_app.config['POSTS_PER_PAGE'] category = Category.query.filter_by(name=category).first() or abort(404) posts = category.posts.order_by(Post.id.desc()) if not session.get('logged_in'): posts = posts.filter_by(visible=True) items = posts.limit(per_page).offset((page - 1) * per_page).all() pagination = Pagination(posts, page=page, per_page=per_page, total=posts.count(), items=items) flash("Posts in category '%s'" % category.name) return render_template('posts.html', pagination=pagination, endpoint_func=lambda x: url_for('main.show_category', category=category.name, page=x))
def lottery_detail(page=1, page_size=30): """一元云购活动详情""" g.page_type = '' g.title = u'一元云购活动详情' lottery_id = toint(request.args.get('lottery_id', '0')) lottery_info = Lottery.query.filter( Lottery.lottery_id == lottery_id).first() goods_list = Goods.query.filter(Goods.kind == 2).\ filter(Goods.is_sale == 1).all() if lottery_info is None: return u'一元云购活动不存在' param_dict = get_params({ 'lottery_name': str, 'lottery_number': str, 'nickname': str, 'order_id': int, 'is_prize': int, 'add_time': str }) query_dict = { 'lottery_number': param_dict['lottery_number'], 'order_id': param_dict['order_id'], 'is_prize': param_dict['is_prize'], 'add_time': param_dict['add_time'] } q = db.session.query(LotteryNumber.ln_id, LotteryNumber.order_id, LotteryNumber.lottery_number, LotteryNumber.is_prize, LotteryNumber.add_time,Lottery.lottery_name,User.nickname).\ filter(Lottery.lottery_id == LotteryNumber.lottery_id).\ filter(LotteryNumber.uid == User.uid).\ filter(LotteryNumber.lottery_id == lottery_id) q = easy_query_filter(LotteryNumber, q, query_dict) if param_dict['nickname']: q = q.filter(User.nickname.like(u'%' + param_dict['nickname'] + u'%')) if param_dict['lottery_name']: q = q.filter( Lottery.lottery_name.like(u'%' + param_dict['lottery_name'] + u'%')) lottery_count = get_count(q) lottery_number_list = q.order_by(LotteryNumber.ln_id.desc()).offset((page-1)*page_size).\ limit(page_size).all() pagination = Pagination(None, page, page_size, lottery_count, None) return render_template('lottery/add.html.j2', f=lottery_info, **locals())
def goods_list(page=1, page_size=20): """ 商品列表 """ g.page_type = 'search' g.title = u'商品列表' g.add_new = True g.button_name = u'添加商品' args = request.args goods_id = toint(args.get('goods_id', 0)) goods_name = args.get('goods_name', '').strip() gc_id = toint(args.get('gc_id', 0)) is_sale = toint(args.get('is_sale', -1)) kind = toint(args.get('kind', '-1')) q = db.session.query(Goods.gc_id, Goods.goods_name, GoodsCategory.category_name, Goods.goods_img, Goods.goods_name, Goods.sort_order, Goods.goods_price, Goods.sale_count, Goods.kind, Goods.is_sale, Goods.goods_id, Goods.add_time).\ filter(GoodsCategory.gc_id == Goods.gc_id) if goods_id: q = q.filter(Goods.goods_id == goods_id) if goods_name: like_goods_name = u'%' + goods_name + u'%' q = q.filter(Goods.goods_name.like(like_goods_name)) if gc_id > 0: q = q.filter(Goods.gc_id == gc_id) if is_sale in (0, 1): q = q.filter(Goods.is_sale == is_sale) if kind >= 0: q = q.filter(Goods.kind == kind) # 商品分类列表 goods_cat_list = [{'name':u'请选择……', 'value':'-1'}] goods_cat_list_temp = db.session.query(GoodsCategory.category_name, GoodsCategory.gc_id).\ filter(GoodsCategory.gc_id == Goods.gc_id).\ group_by(GoodsCategory.gc_id).all() for goods_cat in goods_cat_list_temp: gc = {'name':goods_cat.category_name, 'value':goods_cat.gc_id} goods_cat_list.append(gc) goods_count = get_count(q) goods_list = q.order_by(Goods.goods_id.desc()).all() pagination = Pagination(None, page, page_size, goods_count, None) res = make_response(render_template('goods/goods_list.html.j2',**locals())) res.set_cookie('goback_url', request.url) return res
def list_apps(page): per_page = 20 offset = (page - 1) * per_page query = TableApp.query.order_by(TableApp.id) total_item = query.count() items = query.limit(per_page).offset(offset).all() pagination = Pagination(query, page, per_page, total_item, items) return render_template('list_apps.html', recent_apps=recent_apps(), permission_apps=permission_apps(), items=items, pagination=pagination)
def temp_list(page=1, page_size=20): """一元云购模板列表""" g.page_type = 'search' g.title = u'一元云购模板列表' g.add_new = True g.button_name = u'新增一元云购模板' param_dict = get_params({ 'lt_id': int, 'section_number': int, 'goods_id': int, 'lottery_name': str, 'begin_add_time': str, 'end_add_time': str }) query_dict = { 'lt_id': param_dict['lt_id'], 'section_number': param_dict['section_number'], 'goods_id': param_dict['goods_id'], 'lottery_name': param_dict['lottery_name'], 'begin_add_time': param_dict['begin_add_time'], 'end_add_time': param_dict['end_add_time'], } q = db.session.query(LotteryTemplate.lt_id, LotteryTemplate.section_number, Goods.goods_name, LotteryTemplate.goods_id, LotteryTemplate.lottery_name, LotteryTemplate.lottery_img, LotteryTemplate.lottery_price, LotteryTemplate.add_time).\ filter(LotteryTemplate.goods_id == Goods.goods_id).\ filter(Goods.kind == 2) q = easy_query_filter(LotteryTemplate, q, query_dict) # 商品列表 goods_list = [{'name': u'请选择……', 'value': '-1'}] goods_list_temp = db.session.query(Goods.goods_name, Goods.goods_id).\ group_by(Goods.goods_id).all() for goods in goods_list_temp: gs = {'name': goods.goods_name, 'value': goods.goods_id} goods_list.append(gs) lottery_temp_count = get_count(q) lottery_temp_list = q.order_by(LotteryTemplate.lt_id.desc()).offset((page-1)*page_size).\ limit(page_size).all() pagination = Pagination(None, page, page_size, lottery_temp_count, None) res = make_response( render_template('lottery/temp_list.html.j2', **locals())) res.set_cookie('goback_url', request.url) return res