GeoDjango - установка начального значения (местоположения) для поля PointField в форме (OSMWidget)
Я хочу создать форму для выбора местоположения с помощью PointField. В качестве виджета я использую OSMWidget, и хочу, чтобы начальное местоположение определялось по ip пользователя. Для этого я использую следующий стандартный метод CreateView
:
def get_initial(self):
init = super().get_initial()
try:
(lat, lon) = utils.get_user_coords(self.request)
print(lat, lon)
init['residence_location'] = Point(lon, lat)
except geoip2.errors.AddressNotFoundError:
pass
print(init)
return init
Однако она определяет местоположение карты в точке (0,0) (я полагаю? где-то под Ганой), независимо от того, где находится (lat, lon)
. Я знаю, что он видит эти данные, потому что если я полностью удалю эту функцию, он определит местоположение точки в точке France (местоположение по умолчанию согласно документации). Почему это не работает?