组合搜索框的实现

在当前APP目录下新建templatetags目录:

新建任意名字python名字,然后前端里面的写法是现在html页面开头导入:

{% load filter %}
 <div class="cotent-head1"><i class="fa fa-search" aria-hidden="true"></i>搜索条件</div>
    <div class="cotent-searh" >
        <ul class="nav nav-pills">
        {% filter_all argdict "article_type_id" %}

        {% filterother argdict ‘article_type_id‘ type_choice_list %}

        </ul>
    </div>
    <div class="cotent-searh" >
        <ul class="nav nav-pills">
        {% filter_all argdict "category_id" %}

        {% filterother argdict ‘category_id‘ blogobj.category.all %}

        </ul>
    </div>
    <div class="cotent-searh" >
        <ul class="nav nav-pills">
        {% filter_all argdict "tags__nid" %}

        {% filterother argdict ‘tags__nid‘ blogobj.tag.all %}

        </ul>
    </div>

  

filter文件内容

from django import template
from django.utils.safestring import mark_safe

register = template.Library()

@register.simple_tag
def filter_all(argdict,typeid):
    TYPE_LIST = {‘article_type_id‘:argdict[‘article_type_id‘],
                 ‘category_id‘:argdict[‘category_id‘],
                 ‘tags__nid‘:argdict[‘tags__nid‘],
                 }
    for row in TYPE_LIST.keys():
        if row == typeid:
            TYPE_LIST[row] = 0
    TYPE_LIST = tuple(TYPE_LIST.values())
    if argdict[typeid] == 0:
        ret = ‘<li role="presentation" class="active"><a href="/backend/article-%s-%s-%s-0.html">全部</a></li>‘%TYPE_LIST
    else:
        ret = ‘<li role="presentation" ><a href="/backend/article-%s-%s-%s-0.html">全部</a></li>‘%TYPE_LIST
    return mark_safe(ret)

@register.simple_tag
def filterother(argdict,typeid,typelist):
    TYPE_DICT= {‘article_type_id‘: argdict[‘article_type_id‘],
                 ‘category_id‘: argdict[‘category_id‘],
                 ‘tags__nid‘: argdict[‘tags__nid‘],
                 }
    type_list=[]
    for row in typelist:
        try:
            type_id= row[‘nid‘]
        except Exception:
            type_id = row.nid

        for i in TYPE_DICT.keys():
            if i == typeid:
                    TYPE_DICT[i] = type_id
        list1 = list(TYPE_DICT.values())
        try:
             str1 = row[‘title‘]
        except Exception:
            str1 = row.title
        list1.append(str1)
        TYPE_LIST = tuple(list1)
        if argdict[typeid] == type_id:
            ret = ‘‘‘<li role="presentation" class="item active" >
            <a href="/backend/article-%s-%s-%s-0.html">
            %s</a></li>‘‘‘%TYPE_LIST
        else:
            ret = ‘‘‘<li role="presentation" class="item" >
                        <a href="/backend/article-%s-%s-%s-0.html">
                        %s</a></li>‘‘‘ % TYPE_LIST
        type_list.append(ret)
    type_str = ‘‘.join(type_list)
    return mark_safe(type_str)

  

原文地址:https://www.cnblogs.com/qiangayz/p/9221228.html

时间: 2024-11-02 04:49:06

组合搜索框的实现的相关文章

iOS --- 搜索框UISearchController的使用(iOS8.0以后替代UISearchBar + UISearchDisplayController的组合)

在iOS 8.0以上版本中, 我们可以使用UISearchController来非常方便地在UITableView中添加搜索框. 而在之前版本中, 我们还是必须使用UISearchBar + UISearchDisplayController的组合方式. 添加UISearchController属性: @property(strong, nonatomic) UISearchController *searchController; @property(strong, nonatomic) NS

Qt之自定义搜索框——QLineEdit里增加一个Layout,还不影响正常输入文字(好像是一种比较通吃的方法)

简述 关于搜索框,大家都经常接触.例如:浏览器搜索.Windows资源管理器搜索等. 当然,这些对于Qt实现来说毫无压力,只要思路清晰,分分钟搞定. 方案一:调用QLineEdit现有接口 void addAction(QAction * action, ActionPosition position) 在QLineEdit的前/后添加部件,ActionPosition表示部件所在方位. QAction * addAction(const QIcon & icon, ActionPosition

自定义EditText实现类iOS风格搜索框

最近在项目中有使用到搜索框的地方,由于其样式要求与iOS的UISearchBar的风格一致.默认情况下,搜索图标和文字是居中的,在获取焦点的时候,图标和文字左移.但是在Android是并没有这样的控件(可能见识少,并不知道有).通常情况下我们使用组合控件,使用ReleativeLayout或者FrameLayout来实现.此篇并不是使用上述方法实现,其核心是继承系统EditText,重写onDraw方法,来改变默认的左上右下的drawable,实现平移到中间位置.这里暂时只实现了drawable

如何让你的搜索框设计“一鸣惊人”

许多人可能认为搜索框不需要设计; 毕竟这只是两个简单的元素.然而,在内容繁杂的网站中,搜索框通常是最常用的设计元素.当用户遇到相对复杂的网站时,他们会立即寻找搜索框,已到达到最终目的.搜索框的设计及其可用性就显得尤为重要. 两种类型   1.即时搜索: 结果立即显示在用户界面上,不需要按钮,放大镜仅显示为一个图标,输入时立即搜索 2.常规搜索: 通过用户点击搜索按钮后才开始执行搜索 何时使用   1.目标对象很难找到时 a) 对象很多时:如从Mockplus的图标库中需要找到某个图标时. b)

转-搜索框的测试方法(备忘)

若查询条件为输入框,则参考输入框对应类型的TEST方法 一.功能实现: 1.搜索按钮功能是否实现: 2.点搜索后,原先的搜索条件是否清空: 3.注意验证搜索框的功能是否与需求一致,即是模糊搜索,还是完全搜索.如果支持模糊查询,搜索名称中任意一个字符,要能搜索到:如果支持完全搜索,点击“搜索”,查询结果正确:中%国,查询结果是不是都包含中国两个字的信息 4.比较长的名称是否能查到,输入过长查询数据,看其有没判断,报错;系统是否会截取允许的长度来检索结果;只能输入允许的字符串长度? 5.空;默认查询

如何在WordPress菜单中添加搜索框?

如何在WordPress菜单中添加搜索框?且不需要不使用任何WordPress插件. 想要达到这种效果只需按照以下步骤相同. 如何在WordPress菜单中添加搜索框: WordPress菜单中添加搜索框 打开functions.php文件,并在文件末尾的代码片段下面复制粘贴并保存.以下代码将自动将搜索框添加到主菜单栏. /** * Add searchbox in menubar */ add_filter( 'wp_nav_menu_items','add_search_box', 10,

Android零基础入门第62节:搜索框组件SearchView

原文:Android零基础入门第62节:搜索框组件SearchView 一.SearchView概述 SearchView是搜索框组件,它可以让用户在文本框内输入文字,并允许通过监听器监控用户输入,当用户输入完成后提交搜索时,也可通过监听器执行实际的搜索. SearchView默认是展示一个search的icon,点击icon展开搜索框,也可以自己设定图标.用SearchView时可指定如下表所示的常见XML属性及相关方法. 如果为SearchView增加一个配套的ListView,则可以为Se

Android----- 改变图标原有颜色 和 搜索框

本博客主要讲以下两点知识点 图标改变颜色:Drawable的变色,让Android也能有iOS那么方便的图片色调转换,就像同一个图标,但是有多个地方使用,并且颜色不一样,就可以用这个方法了. 搜索框: 一般是EditText实现,本文 实现 TextView图片和文字居中,键盘搜索. 来看看效果图: 图标改变颜色:第一个界面的左边(二维码)和右边(更多)两个实现,我放进去的图片是黑色的,显示出来是白色的. 搜索框:第一个界面的图片和文字居中,还可以设置间距,第二个见面搜索设置键盘搜索按钮,点击搜

模糊查询(类似百度搜索框)

很常见的搜索框,很常用,总结一下,怕自己忘了,使用的是原生的js. 这是原生写的,代码很简单,重要是思路.主要就是用了一个indexOf(),很简单.越简单的东西越难想到,很多人都会想到用正则去做,这样就舍近求远了. html部分: <div id="box"> <input type="text" id="txt" value = ""> <input type="button&quo