zoukankan      html  css  js  c++  java
  • 组件添加模糊搜索功能

    1.前端发送搜索请求,
     
    <!-- 定制模糊搜索 开始 -->
    {% if cl.search_list %}
        <div class="row">
            <form action="">
                <input type="text" name="{{ cl.search_attr.name }}" value="{{ cl.search_attr.value }}" class="form-control"
                      style="display: inline-block; 250px" placeholder="请输入关键字">
                <button type="submit" class="btn btn-primary">
                    <span class="glyphicon glyphicon-search"></span>
                </button>
            </form>
        </div>
    {% endif %}
    <!-- 定制模糊搜索 结束 -->
     
    2.后端取出来作为组拼搜索条件
    @property
    def search_condition(self):
        """获取模糊搜索条件"""
        con = Q()
        con.connector = "OR"
        val = self.request.GET.get(self.q)
        if not val:
            return con
        for k in self.get_search_list():
            k="%s__contains"%k
            con.children.append((k,val))
        return con
     
    data_list = self.model_class.objects.filter(**self.filter_condition).filter(self.search_condition).distinct()
     
    3.支持可配置式,子类里面复写并传值才显示搜索框
    search_list=[]
    def get_search_list(self):
      """获取搜索的列,即将会在数据库的哪些列中搜索这些信息"""
      search_list = []
      search_list.extend(self.search_list)
      return search_list
     
     
     
     
     
  • 相关阅读:
    2020软件工程作业04
    2020软件工程作业03
    2020软件工程作业02
    2020软件工程作业01
    2020软件工程个人作业06——软件工程实践总结作业
    2020软件工程作业05
    2020软件工程作业02
    软件工程作业01
    2020软件工程个人作业06——软件工程实践总结作业
    2020软件工程作业05
  • 原文地址:https://www.cnblogs.com/jec1999/p/7747466.html
Copyright © 2011-2022 走看看