实现搜索功能

1.准备视图函数search()

复制代码
 1 # 模糊查找
 2 @app.route('/search', methods=['GET', 'POST'])
 3 def search():
 4     qu = request.args.get('q')
 5     query = Book.query.filter(
 6         or_(
 7             Book.title.contains(qu),
 8             Book.content.contains(qu),
 9         )
10      ).order_by('-createdate').all()
11     classfly = Classification.query.all()
12     context = {
13         'books': query,
14         'classfly':classfly
15     }
16     return render_template('home.html', **context)
复制代码

 

 

2.修改base.html 中搜索输入框所在的

  <form action="{{ url_for('search') }}" method="get">

  <input name="q" type="text" placeholder="请输入关键字">

复制代码
 1 <form method="get" action="{{ url_for('search') }}">
 2                                 <div class="layui-row">
 3                                     <div class="layui-col-md3" style="padding-left: 10px;">
 4                                         <input type="text" name="q" required lay-verify="required"
 5                                                placeholder="请输入搜索内容"
 6                                                autocomplete="off" class="layui-input">
 7                                     </div>
 8                                     <div class="layui-col-md3" style="padding-left: 10px;">
 9                                         <button type="submit" class="layui-btn layui-btn-primary">搜索</button>
10                                     </div>
11                                 </div>
12                             </form>
复制代码

 

 

3.完成视图函数search()

  1. 获取搜索关键字
    q = request.args.get('q’)
  2. 条件查询
    qu = Question.query.filter(Question.title.contains(q)).order_by('-creat_time’)
  3. 加载查询结果:
    return render_template('index.html', question=qu)

  4. 组合条件查询
    from sqlalchemy import or_, and_

 

1 query = Book.query.filter(
2         or_(
3             Book.title.contains(qu),
4             Book.content.contains(qu),
5         )
6      ).order_by('-createdate').all()

 

转载于:https://www.cnblogs.com/Betty18/p/8072810.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值