zoukankan      html  css  js  c++  java
  • 三十六、实现搜索功能

    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') }}" method="get"  class="navbar-form navbar-left" role="search">
                                <div class="form-group">
                                    <input name="q" type="text" class="form-control" placeholder="请输入关键字"/>
                                </div><button type="submit" class="btn btn-default">搜索</button>
                                {% endif %}
                            </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)

    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
            )
        )
    )

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

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

  • 相关阅读:
    线程之同步函数
    selenium破解极验验证
    数据结构--树
    数据结构--线性表
    数据结构--栈
    数据结构--队列
    代理的初步理解
    javamail+ical4j发送会议提醒
    阿里云学习之IOT物联网套件(客户端与服务端的后台数据传输)
    位图数据结构原理分析总结
  • 原文地址:https://www.cnblogs.com/Green-/p/8074303.html
Copyright © 2011-2022 走看看