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="请输入关键字">
          <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基础)
    目录(Django开发)
    C#Revit二次开发之-一键切换构件连接顺序 SwitchJoinOrder
    Revit常用的元素过滤方法
    C#之txt的数据写入
    惰性加载
    python mysql and ORM
    Python之常用模块学习(二)
  • 原文地址:https://www.cnblogs.com/mavenlon/p/8063985.html
Copyright © 2011-2022 走看看