2011-01-05 16 views
6

Próbowałem ostatnio geodjango i działał dobrze dla mnie, nawet bez instalowania biblioteki C. Ale kiedy użyłem tego samego projektu w sdk appengine, nie powiedzie się, gdy próbuje zaimportować klasę GeoIP , a następnie przyjrzałem się różnicom, pobrałem nowy appengine sdk + django 1.2, a problem pozostaje! Próbowałem „python manage.py shell”przy użyciu GeoIP z django na appengine

from django.contrib.gis import utils

utils.HAS_GEOIP #returns False(django in appengine)

ale kiedy zrobić to samo w natywnej aplikacji django ta sama linia zwraca True co ja tu brakuje?

Odpowiedz

3

Klasa GeoIP jest opakowaniem wokół interfejsu API GeoIP C. Niestety, nie możesz używać rozszerzeń C w appengine, więc nie możesz korzystać z obsługi GeoIP dostarczanej z Django.

pygeoip to biblioteka GeoIP zaimplementowana w czystym Pythonie, możesz spróbować ją zintegrować.

+0

Tak, wiem o tym i już go używałem, ale funkcja, której potrzebuję, nie jest zaimplementowana, mam na myśli te związane z lokalizacją, takie jak długość i szerokość geograficzna. Zastanawiałem się, dlaczego nie wdrożyli go? lub czy istnieje jakieś rozwiązanie lub alternatywa dla tego w aplikacji. –