zoukankan      html  css  js  c++  java
  • 实现搜索功能

    1. 准备视图函数search()
      # 搜索框带参数搜素显示在首页
      @app.route('/search/')
      def search():
    2. 修改base.html 中搜索输入框所在的
      1. <form action="{{ url_for('search') }}" method="get">
      2.    <input name="q" type="text" placeholder="请输入关键字">
         <form action="{{ url_for('search') }}" method="get">
                <li><input type="text" class="form-control" id="q" name="q" placeholder="音乐搜索,找人"></li>
                <li><button type="submit" class="btn btn-default" style="margin-top: 5px">搜索</button></li>
            </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)
        # 搜索框带参数搜素显示在首页
        @app.route('/search/')
        def search():
            qu=request.args.get('q')
            ques=Question.query.filter(Question.title.contains(qu).order_by('-time')
            return render_template('index.html',questions=ques)
    4. 组合条件查询
      from sqlalchemy import or_, and_
    # 搜索框带参数搜素显示在首页
    @app.route('/search/')
    def search():
        qu=request.args.get('q')
        ques=Question.query.filter(
            or_(
                Question.title.contains(qu),
                Question.detail.contains(qu)
            )
        ).order_by('-time')
        return render_template('index.html',questions=ques)

    首页,所有问答

    搜素标题,所出现的

    搜索‘hi’,出现两条结果,其中包括了标题跟内容

    示例:

    Lobby.query.filter(

        or_(

            and_(

                Lobby.id == Team.lobby_id,

                LobbyPlayer.team_id == Team.id,

                LobbyPlayer.player_id == player.steamid

            ),

          and_(

                Lobby.id == spectator_table.c.lobby_id,

                spectator_table.c.player_id == player.steamid

            )

        )

    )

    https://stackoverflow.com/questions/13370993/sqlalchemy-query-and-or-issue

  • 相关阅读:
    elasticsearch7.6.2实战(1)-单机快速部署
    greenplum数据库常用操作
    kafka集群搭建及结合springboot使用
    msyql主从库配置
    文本相似性算法实现(二)-分组及分句热度统计
    一点区块链资料
    使用.Net Core实现的一个图形验证码
    python中的collections.namedtuple
    Linux中的定时任务at、crontab
    es3中使用es6/7的字符串扩展
  • 原文地址:https://www.cnblogs.com/liminghui3/p/8064019.html
Copyright © 2011-2022 走看看