参考:
背景:
bootstrap table在客户端分页方式下,自带有简易的搜索功能,但是功能太单一,需要定制化组合搜索
前端:
注意前端的加大加粗的部分,就是为了自定义查询新增的
{% load staticfiles %}项目列表 {# 自定义搜索条件区域#}{# bootstrap table自动渲染区域#}
F12抓包:可以看到搜索的关键词“ABC”已经作为参数发送到服务端了,下来只要服务端接收该参数,并查询对应sql返回
后端:
def getdata(request): # 接收url传递来的search_kw参数值 search_kw = request.GET.get('search_kw') print 'search_kw的值为:%s' % search_kw db = pymysql.connect("192.168.207.160", "root", "123qwe!@#", "autotest", charset='utf8') cursor = db.cursor() rows = [] # 根据是否存在搜索关键字执行不同sql,用来返回符合条件的数据 if search_kw: saasCount = "select id,total,succ,fail,percent from saas where id like '%%%s%%'" % search_kw else: saasCount = "select id,total,succ,fail,percent from saas" cursor.execute(saasCount) saas_results = cursor.fetchall() print list(saas_results) for i in list(saas_results): print i # 将数组中的每个元素提取出来拼接为rows的内容 rows.append({ "id": i[0], "name": i[1], "price": i[4]}) print rows # rows返回为json数组 return HttpResponse(json.dumps(rows))
页面:
首次进入菜单,由于search_kw为空,所以显示全部数据
当关键词为36时,模糊搜索