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

    1. 准备视图函数search()
    •  1 #查询
       2 @app.route('/search/')
       3 def search():
    1. 修改base.html 中搜索输入框所在的
      1. <form action="{{ url_for('search') }}" method="get">
      2.    <input name="q" type="text" placeholder="请输入关键字">
        1 <form action="{{ url_for('search') }}" method="get" class="navbar-form navbar-left">
        2         <input type="text" name="title" class="form-control" placeholder="请输入搜索内容">
        3         <button class="btn btn-default" type="submit"><span class="glyphicon glyphicon-search" aria-hidden="true">搜索</span></button>
        4     </form>
    2. 完成视图函数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)
         1 #查询
         2 @app.route('/search/')
         3 def search():
         4     qu=request.args.get('title')
         5     ques=Question.query.filter(
         6         or_(
         7             Question.title.contains(qu),Question.detail.contains(qu)
         8         )                   #or语句,实现题目和内容都可以搜素
         9     ).order_by('-create_time')   #按发布时间顺序排序
        10     return render_template('base.html',questions=ques)
    3. 组合条件查询
      from sqlalchemy import or_, and_
     1 #查询
     2 @app.route('/search/')
     3 def search():
     4     qu=request.args.get('title')
     5     ques=Question.query.filter(Question.title.contains(qu)).order_by('-create_time')   #按发布时间顺序排序
     6    return render_template('base.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

            )

        )

    )

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

    搜素运行结果:打出“英雄” 出现的界面

  • 相关阅读:
    五)使用 easyui-tabs 遭遇错误 Unexpected Exception caught setting '_' on
    六)iframe 及父子页面之间获取元素、方法调用
    七)如何实现权限控制
    二)手动添加基础数据
    三)EasyUI layout
    四)绘树
    一)6张表
    RollingFileAppender
    GitLabCI VS Jenkins 对比
    Nacos 学习记录
  • 原文地址:https://www.cnblogs.com/iamzhuangyuan/p/8064066.html
Copyright © 2011-2022 走看看