У меня проблема с моим Django сайтом. Я передаю переменную latitude_actuelle
, соответствующую широте от представления к шаблону. Когда я печатаю переменную в виде, она является плавающей точкой в правильном формате x.xx
. Но когда я отображаю переменную в шаблоне с {{latitude_actuelle}}, точка заменяется запятой: x,xx
, что является неправильным форматом для числа с плавающей точкой. Проблема в том, что мне нужно, чтобы поплавок был в правильном формате, чтобы центрировать карту Google на заданной широте и долготе, используя javascript в шаблоне.
Я думал об изменении переменной в скрипте примерно так:
var lat_actuelle = {{ latitude_actuelle }}
use float(lat_actuelle.replace(',','.'))
Но похоже, что мы не можем получить доступ к переменным шаблона таким образом в javascript.
Есть ли способ отключить неправильное преобразование числа с плавающей точкой x.xx
в x,xx
? И если нет, как я могу решить проблему?
Заранее спасибо!
Вот соответствующая часть моего файла, если необходимо:
view
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 }}";
}