Esempio n. 1
0
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,
                           )
Esempio n. 2
0
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)
Esempio n. 3
0
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,
    )
Esempio n. 4
0
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)
Esempio n. 5
0
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)