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 (местоположение по умолчанию согласно документации). Почему это не работает?

Вернуться на верх