1.準備視圖函數search()html
2.修改base.html 中搜索輸入框所在的sql
div class="clearfloat"> <form action="{{ url_for('search') }}" method="get"> <a href="{{url_for('index')}}">首頁</a> <img src="w_02_08_00.png" > <a href="http://www.gzcc.cn/">收藏</a> <input name="q" type="text" placeholder="請輸入關鍵字搜索"> <button type="submit">搜索</button> <a href="{{url_for('login')}}">登陸</a> <a href="{{url_for('zhuce')}}">註冊</a> <a href="{{ url_for('logout') }}">註銷</a> <a href="{{ url_for('question') }}">發佈問答</a> <img id="myOnOff" onclick="mySwitch()" src="http://www.runoob.com/images/pic_bulbon.gif" width="20px";> </form> </div>
3.完成視圖函數search()app
@app.route('/search/') @loginFirst 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('index.html', question=ques)
4.組合條件查詢 from sqlalchemy import or_, and_ 函數
示例:url
Lobby.query.filter( spa
or_( code
and_( orm
Lobby.id == Team.lobby_id, htm
LobbyPlayer.team_id == Team.id, blog
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