Flask 如何突出显示模板内“我的结果”中的搜索查询

Flask 如何突出显示模板内“我的结果”中的搜索查询,flask,sqlalchemy,jinja2,whoosh,Flask,Sqlalchemy,Jinja2,Whoosh,好的,我用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 [Stude

好的,我用
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,
    )
然后,在我的搜索模板中,我输出找到的
结果
。如何突出显示匹配的查询

例如,在我的
Student
表中,我正在
name
forname
列中搜索。在我的模板中,我做了如下操作:

{% for student in results %}
  {% student.name %}
  {% student.forname %}
{% endfor %}

如何突出显示查询字符串的匹配位置

现在回答太晚了,但我希望这会对将来的人有所帮助。 即使当我看到这个问题时,我也有同样的问题,当我想出一个解决方案时,我认为最好与大家分享

尽管您希望突出显示两列。但我只能突出显示一列

{% for student in results %}
  {% if query in student.name %}
      {{ student.name.replace(query, '<span style="background-color: yellow;">{}</span>'.format(query)) }}
  {% endif %}
  {% else %}
      {{ student.name }}
{% endfor %}
{%用于结果中的学生%}
{%if查询在student.name%}
{{student.name.replace(查询,{}.format(查询))}
{%endif%}
{%else%}
{{student.name}
{%endfor%}
如果这些是student.name列中的查询,它将突出显示为CTRL+F


注意:查询是搜索输入内容

我想我知道这个问题的答案,但您需要详细说明一下。是否要用一根火柴突出显示该字段?(例如,如果学生姓名匹配,则突出显示学生姓名)。您到底想突出显示什么?我只想突出显示搜索
查询发生的情况。就像在浏览器中按住CTRL+F键并查找单词一样。谢谢你确定这个解决方案有效吗?我对flask没有丰富的经验,但我认为它不会让你像那样放置HTML标记,它会用
替换
,显然你的答案不起作用。我的学习编程的朋友花了太多的时间想知道那东西出了什么问题,因为你的回答质量很低。