• 实现搜索功能(2017.12.19)


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

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

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

     <form action="{{ url_for('search')}}" method="get" class="navbar-form navbar-left" role="search">
                    <div class="form-group">
                        <input type="text"  id="q" name="q" autocomplete="off" placeholder="搜索" class="search-input" data-mounted="1">

    1 准备视图函数search()

    3 完成视图函数search()

    获取搜索关键字
    q = request.args.get('q’)

    条件查询
    qu = Question.query.filter(Question.title.contains(q)).order_by('-creat_time’)

    加载查询结果:

    return render_template('index.html', question=qu)

    @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('-creat_time')
        return render_template('shouye.html',questions=ques)


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

    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

            )

        )

    )

    结果如下:

  • 相关阅读:
    mysql:添加索引
    mysql: update字段中带select
    ASP.NET Web API 2 入门
    notify()、notifyAll()和wait()
    Mybatis3 框架理解
    项目中用到的Java注解
    使用webservice实现App与服务器端数据交互
    IntelliJ idea 14 集成 tomcat 7
    使用adb签名并安装Android程序
    写了一个月的单元测试,总算明白大学里这门课白学了
  • 原文地址:https://www.cnblogs.com/laidaili/p/8064020.html
Copyright © 2020-2023  润新知