def article_list(): category_id = None page = 1 search = '' if request.args.get('category_id'): category_id = int(request.args.get('category_id')) if request.args.get('page'): page = int(request.args.get('page')) if request.args.get('search'): search = request.args.get('search') #产品可用标签 tag_data = Crud.get_data(Tag) #栏目树 category_data = Crud.get_data(Category, Category.sort.desc()) category_tree = build_tree(category_data, 0, 0) #产品栏目 article_category = [v for v in category_tree if v['type'] == 2 or v['type'] == 3 ] if category_id == None: article_data = Crud.search_data_paginate(Article,Article.title.like("%" + search + "%"),Article.sort.desc(),page,10) else: article_data = Crud.search_data_paginate(Article,and_(Article.category_id == category_id,Article.title.like("%" + search + "%")),Article.sort.desc(),page,10) return render_template("admin/article/article_list.html", category_id=category_id, article_data=article_data, article_category = article_category, tag_data = tag_data, )
def reptile_list(): request_id = request.args.get('request_id') if request_id: request_id = int(request_id) if request.args.get('page'): page = int(request.args.get('page')) else: page = 1 request_data = Crud.get_data(ReptileRequest, ReptileRequest.create_time.desc()) if request_id: page_data = Crud.search_data_paginate( ReptileList, ReptileList.request_id == request_id, ReptileList.create_time.desc(), page, 20) else: page_data = Crud.get_data_paginate(ReptileList, ReptileList.create_time.desc(), page, 20) category_data = Crud.get_data(Category, Category.sort.desc()) category_tree = build_tree(category_data, 0, 0) return render_template("admin/reptile/reptile_list.html", request_data=request_data, page_data=page_data, category_tree=category_tree, request_id=request_id)
def product_list(): category_id = None page = 1 search = '' if request.args.get('category_id'): category_id = int(request.args.get('category_id')) if request.args.get('page'): page = int(request.args.get('page')) if request.args.get('search'): search = request.args.get('search') #产品可用标签 tag_data = Crud.get_data(Tag) #栏目树 category_data = Crud.get_data(Category, Category.sort.desc()) category_tree = build_tree(category_data, 0, 0) #产品栏目 product_category = [ v for v in category_tree if v['type'] == 1 or v['type'] == 3 ] if category_id == None: product_data = Crud.search_data_paginate( Product, Product.title.like("%" + search + "%"), Product.sort.desc(), page, 10) else: product_data = Crud.search_data_paginate( Product, and_(Product.category_id == category_id, Product.title.like("%" + search + "%")), Product.sort.desc(), page, 10) return render_template( "admin/product/product_list.html", category_id=category_id, product_data=product_data, product_category=product_category, tag_data=tag_data, )
def products(nav_id=None): if nav_id == None: return redirect(url_for('home.index')) #参数转为字典 request_data = request.args.to_dict() if request.args.get('page'): page = int(request.args.get('page')) else: page = 1 param = [] #栏目筛选,当前栏目的所有子栏目 products_column = Crud.search_data(Category, Category.pid == nav_id) products_column_ids = [v.id for v in products_column] products_column_ids.append(nav_id) param.append(Product.column_id.in_(products_column_ids)) # 根据关联栏目筛选 if ('services' in request.args) and (request.args['services']): services = request.args['services'] param.append(Product.relation_id == services) #根据搜索条件筛选 if ('search' in request.args) and (request.args['search']): search = request.args['search'] param.append( or_(Product.title.like("%" + search + "%"), Product.info.like("%" + search + "%"), Product.content.like("%" + search + "%"))) #根据标签筛选 if ('tag' in request.args) and (request.args['tag']): tag = request.args['tag'] param.append(product_tag.c.tag_id == tag) param.append(Product.is_del == 0) products = Product.query.join(product_tag).filter(*param).order_by( Product.sort.desc()).paginate(page, 8) #如果没有标签信息,就不需要连表查询 else: products = Crud.search_data_paginate(Product, param, Product.sort.desc(), page, 8) return render_template("home/products.html", request_data=request_data, seo_data=seo_data, products=products)
def articles(nav_id=None): if nav_id == None: return redirect(url_for('home.index')) #参数转为字典 request_data = request.args.to_dict() if request.args.get('page'): page = int(request.args.get('page')) else: page = 1 param = [] #栏目筛选,当前栏目的所有子栏目 articles_column = Crud.search_data(Category, Category.pid == nav_id) articles_column_ids = [v.id for v in articles_column] articles_column_ids.append(nav_id) param.append(Article.column_id.in_(articles_column_ids)) #根据搜索条件筛选 if ('search' in request.args) and (request.args['search']): search = request.args['search'] param.append( or_(Article.title.like("%" + search + "%"), Article.info.like("%" + search + "%"), Article.content.like("%" + search + "%"))) #根据标签筛选 if ('tag' in request.args) and (request.args['tag']): tag = request.args['tag'] param.append(article_tag.c.tag_id == tag) param.append(Article.is_del == 0) articles = Article.query.join(article_tag).filter(*param).order_by( Article.sort.desc()).paginate(page, 4) else: articles = Crud.search_data_paginate(Article, param, Article.sort.desc(), page, 4) #articles = db.session.query(Article,Admin).join(Admin,Article.admin_id == Admin.id).filter(*param).order_by(Article.sort.desc()).paginate(page,4) return render_template("home/articles.html", request_data=request_data, seo_data=seo_data, articles=articles)