我目前正在实施一个半径过滤系统。在
用户可以搜索一个城市中的房间,根据搜索城市的经纬度,结果页面将显示半径为60公里的所有其他房间。在
我找到了一个有效的函数,我已经测试过了(即使数字太高,相对比例仍然显示正确的结果):acos(sin(loc_latitude) * sin(zimmer.zimmer_lat) + cos(loc_latitude) * cos(zimmer.zimmer_lat) * cos(zimmer.zimmer_lng - (loc_longitude))) * 6371 <= 6000:
我需要一个jinja if表达式:
^{pr2}$
但是在模板中,jinja不知道我从数学模块导入的cos()和sin()函数:File "C:UsersUserEclipse-WorkspaceMonteurzimmertemplateszimmer_gefunden.html", line 149, in block "content"
{% if acos(sin(loc_latitude) * sin(zimmer.zimmer_lat) + cos(loc_latitude) * cos(zimmer.zimmer_lat) * cos(zimmer.zimmer_lng - (loc_longitude))) * 6371 <= 60 %}
UndefinedError: 'sin' is undefined
有没有办法把这些函数传递给模板?在
我看到了这个:your_template.render(sin())
your_template.render(cos())
但我不知道从何处获取您的模板,因为我已经在按如下方式呈现模板:return render_template('zimmer_gefunden.html', mymap=mymap, paginator_find=paginator_find, findroomcity=findroomcity,
form=form, pagenumber_find=pagenumber_find, all_rooms_in_city=all_rooms_in_city, pages_list_find=pages_list_find, all_einzelzimmer = all_einzelzimmer,
all_doppelzimmer = all_doppelzimmer, all_mehrbettzimmer = all_mehrbettzimmer, all_wohnung = all_wohnung,
loc_latitude = loc_latitude, loc_longitude = loc_longitude)
还是有别的办法?在