gpt4 book ai didi

python - jinja2.exceptions.UndefinedError: 'response'未定义

转载 作者:行者123 更新时间:2023-12-03 02:36:34 26 4
gpt4 key购买 nike

当我尝试遍历json输出的元素时,出现上述错误。
这是我的 app.py 文件

from flask import Flask, render_template, request
from elasticsearch import Elasticsearch

app = Flask(__name__)
es = Elasticsearch()
@app.route('/',methods=["GET","POST"])
def index():
q = request.form.get("q")
if q is not None:
resp = es.search(index='aman', body={"query": {"match":{"NAME": q}}})
return render_template('index.html', q=q, response=resp)
return render_template('index.html')

if __name__ =="__main__":
app.run(debug=True)

这是我的 index.html 文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/" method="post" autocomplete="off">
<label for="q"> search here : </label><input type="text" name="q" id="q" value="{{q}}">
<input type="submit" value="search">

<ol>
{% for resp in response.hits.hits %}
<li><a href="{{resp._source.url}}"> {{resp._source.NAME}}</a></li>
{% endfor %}
</ol>

</form>
</body>
</html>

当我用 {{response}} 替换有序列表标签之间的内容时,令人惊讶的是,程序运行无错误,并且“response”变量中的数据打印在网页上。
请指导我。

最佳答案

我已经知道了。发布解决方案,因为它对于遇到类似问题的人可能很方便。
app.py 文件中,用 response = resp替换 response = resp [“hits”] [“hits”]
并在 index.html 文件中,将 response.hits.hits 替换为响应

关于python - jinja2.exceptions.UndefinedError: 'response'未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58824294/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com