我正在尝试使用带有python和flask的googleplaces来到达附近的地方
我遇到此错误:(UnboundLocalError:分配前引用了本地变量'place_name')
这是我的代码:
SomeFBound
答案 0 :(得分:1)
return render_template('Search.html', place_name, place_rating, place_location)
以上是无效的语法。当您将详细信息传递给模板时,您需要执行以下操作:
return render_template('Search.html', name = place_name,
rating = place_rating, location = place_location)
然后将在模板中以name
,rating
和location
的形式访问变量{{name}}
,{{rating}}
和{{location}}
。
但是,安排for循环的方式意味着第一次到达return语句时,它将停止循环并返回包含这些变量的模板。
也许这就是您想要的,但是您可能希望将query_result
传递给模板,并在模板中实现Jinja2 for循环以打印出各种场所的详细信息。您将删除for循环并将整个块替换为:
return render_template('Search.html', all_places = query_result)
然后在模板中添加以下内容:
{% if all_places %}
{% for place in all_places %}
<p><b>{{place.name}}</b> has a rating of <u>{{place.rating}}</u></p>
{% endfor %}
{% else %}
<p>No places found.</p>
{% endif %}