Ошибка при настройке geoip на Django - PullRequest
3 голосов
/ 04 февраля 2011

Я пытаюсь добавить геолокацию на сайт, используя GeoIP. Я следовал инструкциям на Django docs , но получаю эту ошибку: ImproperlyConfigured: Error importing middleware middleware: "cannot import name GeoIP" Чего не хватает? Я добавил функцию геолокации в качестве пользовательского промежуточного программного обеспечения, как показано ниже:

from django.contrib.gis.utils import GeoIP

class LocationMiddleware(object):
    def process_request(self, request):
        g = GeoIP()
        ip = request.META.get('REMOTE_ADDR', None)
        if (not ip or ip == '127.0.0.1') and 
          request.META.has_key('HTTP_X_FORWARDED_FOR'):
            ip = request.META['HTTP_X_FORWARDED_FOR']
        if ip:
           city = g.city(ip)['city']
        else:
           # set default city

    return city

1 Ответ

5 голосов
/ 04 февраля 2011

Кажется, я все-таки нашел решение.Оператор импорта должен быть:

from django.contrib.gis.utils.geoip import GeoIP
...