• 实现搜索功能


    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="请输入关键字">
          <input name='q' type="text" placeholder="请输入关键字">
                        <input type="submit" value="查找"/>
    

      

    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_

    @app.route('/search/')
    def search():
        qu = request.args.get('q')
        # ques = Question.query.filter(Question.title.contains(qu))
        ques = Question.query.filter(
            or_(
                Question.title.contains(qu),
                Question.detail.contains(qu)
        )
        ).order_by('-create_time')
        return render_template('index.html',questions = ques)
    

      

    示例:

    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

            )

        )

    )

  • 相关阅读:
    python appium环境搭建
    github 删除某个文件
    python 导入的模块使用了相对路径,导致找不到文件错误
    python asyncio协程
    python 获取调用函数的名字和行号
    monkey测试命令
    python 属性查询顺序,数据描述符
    JS各循环的差别
    AngularJS复习小结
    那些不正经的前端笔试题
  • 原文地址:https://www.cnblogs.com/mavenlon/p/8063985.html
Copyright © 2020-2023  润新知