• 作业36——实现搜索功能


    1. 准备视图函数search()
    2. 修改base.html 中搜索输入框所在的
      1. <form action="{{ url_for('search') }}" method="get">
      2.    <input name="q" type="text" placeholder="请输入关键字">
        <form action="{{ url_for('search') }}" methods="get" class="navbar-form navbar-left">
                <input name="q" type="text" class="form-control" placeholder="请输入关键字">
                <input  type="submit" class="btn-default" value="sou">
            </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():
            q=request.args.get('q')
            qu=Question.query.filter(or_(Question.title.contains(q),Question.detail.contains(q))).order_by('-creat_time')
            return render_template('index.html',question=qu)

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

    示例:

    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

  • 相关阅读:
    CRM 2016 刷新 Iframe
    CRM 2016 升级CRM365之注意事项
    CRM 插件导出
    [LeetCode]Valid Sudoku
    [iOS]转:iOS最佳实践
    [LeetCode]Permutation Sequence
    [C/C++]函数可变参数表
    [LeetCode]Next Permutation
    [LeetCode]Remove Element
    [LeetCode]4Sum
  • 原文地址:https://www.cnblogs.com/888abc/p/8064078.html
Copyright © 2020-2023  润新知