我的Django网站有问题。我正在将latitude_actuelle
与纬度相对应的变量从视图传递到模板。当我在视图中打印变量时,它是正确格式的float x.xx
。但是,当我使用{{latitude_actuelle}}在模板中显示变量时,该点已被逗号替换:x,xx
这不是浮点数的正确格式。问题是我需要使用正确的浮点格式,以便使用模板中的javascript在给定的经度和纬度上定位google地图。
我考虑过用以下方式修改脚本中的变量:
var lat_actuelle = {{ latitude_actuelle }}
use float(lat_actuelle.replace(',','.'))
但是看来我们无法以这种方式在javascript中访问模板变量。
有没有办法禁用浮点数从x.xx
到的错误转换x,xx
?如果没有,我该如何解决这个问题?
提前致谢 !
如果需要,这是我文件的相关部分:
视图
def infos_localisation(request):
latitude_actuelle = 50.66981991272638
longitude_actuelle = 4.615554319641566
point = request.user.useradvanced.localisation
if point != None:
latitude_actuelle = float(point.y)
longitude_actuelle = float(point.x)
if request.method == "POST":
form = LocationForm(request.POST)
if form.is_valid():
longitude = float(form.cleaned_data['longitude'].replace(',','.'))
latitude = float(form.cleaned_data['latitude'].replace(',','.'))
request.user.useradvanced.localisation = Point(longitude, latitude)
request.user.useradvanced.save()
messages.success(request, 'Votre localisation a été correctement mise à jour')
return redirect("informations")
else:
form = LocationForm()
return render(request, 'inscription/infos_localisation.html', locals())
javascript
function initMap() {
act = {lat: "{{ latitude_actuelle }}", lng: "{{ longitude_actuelle }}"}
var map = new google.maps.Map(document.getElementById('map'), {center: act, zoom: 15});
var marker = new google.maps.Marker({position: act, map: map});
document.getElementById('longitude').value = "{{ longitude_actuelle }}";
document.getElementById('latitude').value = "{{ latitude_actuelle }}";
}
感谢评论中提出的答案,我找到了解决方案。这里是 :
{% load l10n %}
{{ latitude_actuelle|unlocalize }}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句