这真的让我挠头。我正在使用地理位置来获取用户的坐标。然后,我将经纬度和经纬度发送给我的“ / restaurant_list”路线,并创建一个对象:“ r_list”。
@app.route('/user_location', methods=["POST"])
def user_location():
coords = request.get_json()
lat = str(coords['location']['lat'])
lng = str(coords['location']['lng'])
print(lat, lng)
return redirect(url_for('restaurant_list_page', lat=lat, lng=lng))
到目前为止,太好了。返回结果列表,然后将其分成两半。这两个半部分及其长度将传递到“ restaurant_list.html”以在页面上进行处理。
当我运行PyCharm逐行调试它时,一切顺利,直到最后一行:
@app.route('/restaurant_list/<lat>/<lng>')
def restaurant_list_page(lat, lng):
try:
# Create RestaurantList object using 3 arguments
r_list = RestaurantList(lat, lng, '33')
# Return list of results
results = r_list.results
if len(results) % 2 == 0: # Check if list is odd or even and split in half
top = results[:(len(results) // 2)]
bottom = results[(len(results) // 2):]
toplen = len(top)
botlen = len(bottom)
return render_template("restaurant_list.html", top=top, toplen=toplen, bot=bottom, botlen=botlen)
except Exception:
return render_template("main.html")
从这里开始似乎崩溃了。 html模板从不呈现。我在控制台中看到这样的错误:
File "C:\Users\Steve\AppData\Local\Programs\Python\Python37\lib\site-packages\werkzeug\urls.py", line 462, in <genexpr>
if not rest or any(c not in s("0123456789") for c in rest):
SystemError: error return without exception set
Exception ignored in: <generator object url_parse.<locals>.<genexpr> at 0x000002ECE5F7F0C8>
我不知道这是在告诉我什么。有帮助吗?
更奇怪的是,控制台将在失败时打印GET请求,如果我将URL复制并粘贴到浏览器中,它将加载并按预期运行...
GET /restaurant_list/27.2883712/-82.4827904 HTTP/1.1" 200