【发布时间】:2014-09-23 04:05:32
【问题描述】:
好的,我用Flask-WhooshAlchemy实现了这个简单的搜索页面
@views.route('/search', methods=['GET'])
def search():
query = request.args['query']
results = []
def _model_search(m):
return m.query.whoosh_search(query).all()
if query:
for model in [Student, StudentHomework, Winner]:
results += _model_search(model)
return render_template(
'search.html',
query=query,
results=results,
)
然后,在我的搜索模板中,我输出找到的results。如何突出显示匹配的查询?
例如,在我的Student 表中,我在name 和forname 列中进行搜索。在我的模板中,我执行以下操作:
{% for student in results %}
{% student.name %}
{% student.forname %}
{% endfor %}
如何突出显示查询字符串匹配的位置?
【问题讨论】:
-
我想我知道这个问题的答案,但您必须再详细说明一下。您想用匹配突出显示 字段 吗? (例如,如果学生姓名匹配,则突出显示学生姓名)。你到底想强调什么?
-
我只想突出显示搜索
query的出现。就像您在浏览器中所做的那样 CTRL + F 并找到一个单词。谢谢
标签: flask sqlalchemy jinja2 whoosh