当前位置: 首页>>代码示例>>Python>>正文


Python Webapp.search方法代码示例

本文整理汇总了Python中webapps.models.Webapp.search方法的典型用法代码示例。如果您正苦于以下问题:Python Webapp.search方法的具体用法?Python Webapp.search怎么用?Python Webapp.search使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在webapps.models.Webapp的用法示例。


在下文中一共展示了Webapp.search方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: app_search

# 需要导入模块: from webapps.models import Webapp [as 别名]
# 或者: from webapps.models.Webapp import search [as 别名]
def app_search(request, template=None):
    form = ESSearchForm(request.GET or {}, type=amo.ADDON_WEBAPP)
    form.is_valid()  # Let the form try to clean data.
    query = form.cleaned_data
    qs = (Webapp.search().query(or_=name_query(query['q']))
          .filter(type=amo.ADDON_WEBAPP, status=amo.STATUS_PUBLIC,
                  is_disabled=False)
          .facet(tags={'terms': {'field': 'tag'}},
                 categories={'terms': {'field': 'category', 'size': 100}}))
    if query.get('tag'):
        qs = qs.filter(tag=query['tag'])
    if query.get('cat'):
        qs = qs.filter(category=query['cat'])
    if query.get('sort'):
        mapping = {'downloads': '-weekly_downloads',
                   'rating': '-bayesian_rating',
                   'created': '-created',
                   'name': '-name_sort',
                   'hotness': '-hotness'}
        qs = qs.order_by(mapping[query['sort']])

    pager = amo.utils.paginate(request, qs)
    facets = pager.object_list.facets

    ctx = {
        'pager': pager,
        'query': query,
        'form': form,
        'sorting': sort_sidebar(request, query, form),
        'categories': category_sidebar(request, query, facets),
        'tags': tag_sidebar(request, query, facets),
    }
    return jingo.render(request, template, ctx)
开发者ID:21echoes,项目名称:zamboni,代码行数:35,代码来源:views.py

示例2: app_search

# 需要导入模块: from webapps.models import Webapp [as 别名]
# 或者: from webapps.models.Webapp import search [as 别名]
def app_search(request, tag_name=None, template=None):
    form = ESSearchForm(request.GET.copy() or {}, type=amo.ADDON_WEBAPP)
    form.is_valid()  # Let the form try to clean data.
    query = form.cleaned_data
    # TODO(apps): We should figure out if we really want tags for apps.
    if tag_name:
        query["tag"] = tag_name

    qs = (
        Webapp.search()
        .filter(type=amo.ADDON_WEBAPP, status=amo.STATUS_PUBLIC, is_disabled=False)
        .facet(tags={"terms": {"field": "tag"}}, categories={"terms": {"field": "category", "size": 200}})
    )

    filters = ["cat", "price", "sort", "tag"]
    mapping = {
        "downloads": "-weekly_downloads",
        "rating": "-bayesian_rating",
        "created": "-created",
        "name": "name_sort",
        "hotness": "-hotness",
        "price": "price",
    }
    qs = _filter_search(request, qs, query, filters, mapping, [amo.ADDON_WEBAPP])

    pager = amo.utils.paginate(request, qs)
    facets = pager.object_list.facets

    sort, extra_sort = split_choices(form.sort_choices, "price")

    ctx = {
        "is_pjax": request.META.get("HTTP_X_PJAX"),
        "pager": pager,
        "query": query,
        "form": form,
        "sorting": sort_sidebar(request, query, form),
        "sort_opts": sort,
        "extra_sort_opts": extra_sort,
        "sort": query.get("sort"),
        "webapp": True,
    }
    if not ctx["is_pjax"]:
        ctx.update(
            {
                "prices": price_sidebar(request, query, facets),
                "categories": category_sidebar(request, query, facets),
                "tags": tag_sidebar(request, query, facets),
            }
        )
    return jingo.render(request, template, ctx)
开发者ID:kaiquewdev,项目名称:zamboni,代码行数:52,代码来源:views.py

示例3: app_search

# 需要导入模块: from webapps.models import Webapp [as 别名]
# 或者: from webapps.models.Webapp import search [as 别名]
def app_search(request, tag_name=None, template=None):
    form = ESSearchForm(request.GET.copy() or {}, type=amo.ADDON_WEBAPP)
    form.is_valid()  # Let the form try to clean data.
    query = form.cleaned_data
    # TODO(apps): We should figure out if we really want tags for apps.
    if tag_name:
        query['tag'] = tag_name

    qs = (Webapp.search()
          .filter(type=amo.ADDON_WEBAPP, status=amo.STATUS_PUBLIC,
                  is_disabled=False)
          .facet(tags={'terms': {'field': 'tag'}},
                 categories={'terms': {'field': 'category', 'size': 200}}))

    filters = ['cat', 'price', 'sort', 'tag']
    mapping = {'downloads': '-weekly_downloads',
               'rating': '-bayesian_rating',
               'created': '-created',
               'name': 'name_sort',
               'hotness': '-hotness',
               'price': 'price'}
    qs = _filter_search(request, qs, query, filters, mapping,
                        [amo.ADDON_WEBAPP])

    pager = amo.utils.paginate(request, qs)
    facets = pager.object_list.facets

    sort, extra_sort = split_choices(form.sort_choices, 'price')

    ctx = {
        'is_pjax': request.META.get('HTTP_X_PJAX'),
        'pager': pager,
        'query': query,
        'form': form,
        'sorting': sort_sidebar(request, query, form),
        'sort_opts': sort,
        'extra_sort_opts': extra_sort,
        'sort': query.get('sort'),
        'webapp': True,
    }
    if not ctx['is_pjax']:
        ctx.update({
            'prices': price_sidebar(request, query, facets),
            'categories': category_sidebar(request, query, facets),
            'tags': tag_sidebar(request, query, facets),
        })
    return jingo.render(request, template, ctx)
开发者ID:LucianU,项目名称:zamboni,代码行数:49,代码来源:views.py

示例4: app_search

# 需要导入模块: from webapps.models import Webapp [as 别名]
# 或者: from webapps.models.Webapp import search [as 别名]
def app_search(request, template=None):
    form = ESSearchForm(request.GET or {}, type=amo.ADDON_WEBAPP)
    form.is_valid()  # Let the form try to clean data.
    query = form.cleaned_data
    qs = (
        Webapp.search()
        .query(or_=name_query(query["q"]))
        .filter(type=amo.ADDON_WEBAPP, status=amo.STATUS_PUBLIC, is_disabled=False)
        .facet(tags={"terms": {"field": "tag"}}, categories={"terms": {"field": "category", "size": 100}})
    )
    if query.get("tag"):
        qs = qs.filter(tag=query["tag"])
    if query.get("cat"):
        qs = qs.filter(category=query["cat"])
    if query.get("sort"):
        mapping = {
            "downloads": "-weekly_downloads",
            "rating": "-bayesian_rating",
            "created": "-created",
            "name": "-name_sort",
            "hotness": "-hotness",
        }
        qs = qs.order_by(mapping[query["sort"]])

    pager = amo.utils.paginate(request, qs)
    facets = pager.object_list.facets

    ctx = {
        "pager": pager,
        "query": query,
        "form": form,
        "sorting": sort_sidebar(request, query, form),
        "categories": category_sidebar(request, query, facets),
        "tags": tag_sidebar(request, query, facets),
    }
    return jingo.render(request, template, ctx)
开发者ID:chenba,项目名称:zamboni,代码行数:38,代码来源:views.py


注:本文中的webapps.models.Webapp.search方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。